| 
									
										
										
										
											2005-12-23 17:07:54 +00:00
										 |  |  | 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 Win32
 | 
					
						
							|  |  |  |   use dflib
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-09-06 18:09:05 +00:00
										 |  |  |   character sending0*28,mode0*6,cshort*11
 | 
					
						
							| 
									
										
										
										
											2005-12-23 17:07:54 +00:00
										 |  |  |   integer sendingsh0
 | 
					
						
							| 
									
										
										
										
											2007-06-21 17:38:30 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   include 'datcom.f90'
 | 
					
						
							| 
									
										
										
										
											2007-06-20 15:43:35 +00:00
										 |  |  |   include 'gcom1.f90'
 | 
					
						
							| 
									
										
										
										
											2005-12-23 17:07:54 +00:00
										 |  |  |   include 'gcom2.f90'
 | 
					
						
							|  |  |  |   include 'gcom3.f90'
 | 
					
						
							|  |  |  |   include 'gcom4.f90'
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   data sending0/'                      '/
 | 
					
						
							|  |  |  |   save
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-06-30 20:22:12 +00:00
										 |  |  |   kkdone=-99
 | 
					
						
							| 
									
										
										
										
											2005-12-23 17:07:54 +00:00
										 |  |  |   ntr0=ntr
 | 
					
						
							|  |  |  |   ns0=999999
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 10 continue
 | 
					
						
							| 
									
										
										
										
											2007-01-14 00:44:34 +00:00
										 |  |  |   if(newdat2.gt.0) then
 | 
					
						
							|  |  |  |      call getfile2(fname80,nlen)
 | 
					
						
							| 
									
										
										
										
											2007-06-29 13:21:49 +00:00
										 |  |  |      newdat2=0
 | 
					
						
							|  |  |  |      kbuf=1
 | 
					
						
							|  |  |  |      kk=NSMAX
 | 
					
						
							| 
									
										
										
										
											2007-06-30 14:28:31 +00:00
										 |  |  |      kkdone=0
 | 
					
						
							| 
									
										
										
										
											2007-06-26 20:04:39 +00:00
										 |  |  |      newdat=1
 | 
					
						
							| 
									
										
										
										
											2007-01-14 00:44:34 +00:00
										 |  |  |   endif
 | 
					
						
							| 
									
										
										
										
											2007-06-28 15:14:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-06-30 20:22:12 +00:00
										 |  |  |   if((ndiskdat.eq.1 .or. ndecoding.eq.0) .and. ((kk-kkdone).gt.32768))  &
 | 
					
						
							| 
									
										
										
										
											2007-06-30 18:39:18 +00:00
										 |  |  |        call symspec(id,kbuf,kk,kkdone,nutc,t00,newdat)
 | 
					
						
							| 
									
										
										
										
											2007-06-28 15:14:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-06-26 14:20:11 +00:00
										 |  |  |   if(ndecoding.gt.0 .and. mode(1:4).eq.'JT65') then
 | 
					
						
							| 
									
										
										
										
											2005-12-23 17:07:54 +00:00
										 |  |  |      ndecdone=0
 | 
					
						
							| 
									
										
										
										
											2007-06-26 20:04:39 +00:00
										 |  |  |      call map65a(newdat)
 | 
					
						
							| 
									
										
										
										
											2005-12-23 17:07:54 +00:00
										 |  |  |      if(mousebutton.eq.0) ndecoding0=ndecoding
 | 
					
						
							|  |  |  |      ndecoding=0
 | 
					
						
							|  |  |  |   endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   if(ns0.lt.0) then
 | 
					
						
							|  |  |  |      rewind 21
 | 
					
						
							|  |  |  |      ns0=999999
 | 
					
						
							|  |  |  |   endif
 | 
					
						
							|  |  |  |   n=Tsec
 | 
					
						
							|  |  |  |   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)
 | 
					
						
							|  |  |  |      sending0=sending
 | 
					
						
							|  |  |  |      sendingsh0=sendingsh
 | 
					
						
							|  |  |  |      mode0=mode
 | 
					
						
							|  |  |  |   endif
 | 
					
						
							| 
									
										
										
										
											2007-06-29 01:01:20 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   call sleep_msec(1000)                  !### was 100
 | 
					
						
							|  |  |  |   go to 10
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | end subroutine decode1
 |