| 
									
										
										
										
											2007-07-02 19:17:07 +00:00
										 |  |  |       subroutine decode65b(s2,flip,mycall,hiscall,hisgrid,neme,ndepth,
 | 
					
						
							|  |  |  |      +  nqd,nkv,nhist,qual,decoded)
 | 
					
						
							| 
									
										
										
										
											2007-01-11 21:25:52 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |       real s2(256,126)
 | 
					
						
							|  |  |  |       real s3(64,63)
 | 
					
						
							| 
									
										
										
										
											2007-07-10 16:57:29 +00:00
										 |  |  |       logical first,ltext
 | 
					
						
							| 
									
										
										
										
											2007-01-11 21:25:52 +00:00
										 |  |  |       character decoded*22,deepmsg*22
 | 
					
						
							|  |  |  |       character mycall*12,hiscall*12,hisgrid*6
 | 
					
						
							|  |  |  | !      include 'avecom.h'
 | 
					
						
							|  |  |  |       include 'prcom.h'
 | 
					
						
							|  |  |  |       data first/.true./
 | 
					
						
							|  |  |  |       save
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       if(first) call setup65
 | 
					
						
							|  |  |  |       first=.false.
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       call setup65
 | 
					
						
							|  |  |  |       do j=1,63
 | 
					
						
							|  |  |  |          k=mdat(j)                       !Points to data symbol
 | 
					
						
							|  |  |  |          if(flip.lt.0.0) k=mdat2(j)
 | 
					
						
							|  |  |  |          do i=1,64
 | 
					
						
							|  |  |  |             s3(i,j)=s2(i+2,k)            !### Check the "i+2" ###
 | 
					
						
							|  |  |  |          enddo
 | 
					
						
							|  |  |  |       enddo
 | 
					
						
							|  |  |  |       mode65=2
 | 
					
						
							|  |  |  |       nadd=mode65
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-07-10 16:57:29 +00:00
										 |  |  |       call extract(s3,nadd,ncount,nhist,decoded,ltext)     !Extract the message
 | 
					
						
							|  |  |  | C  Suppress "birdie messages" and other garbage decodes:
 | 
					
						
							| 
									
										
										
										
											2007-01-11 21:25:52 +00:00
										 |  |  |       if(decoded(1:7).eq.'000AAA ') ncount=-1
 | 
					
						
							|  |  |  |       if(decoded(1:7).eq.'0L6MWK ') ncount=-1
 | 
					
						
							| 
									
										
										
										
											2007-07-10 16:57:29 +00:00
										 |  |  |       if(flip.lt.0.0 .and. ltext) ncount=-1
 | 
					
						
							| 
									
										
										
										
											2007-01-11 21:25:52 +00:00
										 |  |  |       nkv=1
 | 
					
						
							|  |  |  |       if(ncount.lt.0) then 
 | 
					
						
							|  |  |  |          nkv=0
 | 
					
						
							|  |  |  |          decoded='                      '
 | 
					
						
							|  |  |  |       endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       qual=0.
 | 
					
						
							| 
									
										
										
										
											2007-06-27 19:49:29 +00:00
										 |  |  | !      if(nkv.eq.0) then
 | 
					
						
							| 
									
										
										
										
											2007-01-11 21:25:52 +00:00
										 |  |  |          if(ndepth.ge.1) call deep65(s3,mode65,neme,
 | 
					
						
							| 
									
										
										
										
											2007-07-02 19:17:07 +00:00
										 |  |  |      +        flip,mycall,hiscall,hisgrid,deepmsg,qual)
 | 
					
						
							|  |  |  |          if(nqd.ne.1 .and. qual.lt.10.0) qual=0.0
 | 
					
						
							| 
									
										
										
										
											2007-06-28 13:31:46 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-01-11 21:25:52 +00:00
										 |  |  | C  Save symbol spectra for possible decoding of average.
 | 
					
						
							|  |  |  | !      do j=1,63
 | 
					
						
							|  |  |  | !         k=mdat(j)
 | 
					
						
							|  |  |  | !         if(flip.lt.0.0) k=mdat2(j)
 | 
					
						
							|  |  |  | !         call move(s2(8,k),ppsave(1,j,nsave),64)
 | 
					
						
							|  |  |  | !      enddo
 | 
					
						
							| 
									
										
										
										
											2007-07-02 19:17:07 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-06-27 19:49:29 +00:00
										 |  |  | !      endif
 | 
					
						
							| 
									
										
										
										
											2007-01-11 21:25:52 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |       if(nkv.eq.0 .and. qual.ge.1.0) decoded=deepmsg
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       return
 | 
					
						
							|  |  |  |       end
 |