Correct several minor bugs.

This commit is contained in:
Joe Taylor 2018-06-27 20:19:48 -04:00
parent 617b0bffc8
commit 7a855f1fd5
5 changed files with 30 additions and 14 deletions

View File

@ -1,6 +1,6 @@
program encode77
character msg*37,msg0*37,cerr*1
character msg*37,msg0*37,msg1*37,cerr*1
character*77 c77
nargs=iargc()
@ -12,12 +12,15 @@ program encode77
1002 format(a37)
endif
if(msg0.eq.' ') exit
call pack77(msg0,i3,n3,c77)
msg1=msg0
call pack77(msg1,i3,n3,c77)
call unpack77(c77,msg)
cerr=' '
if(msg.ne.msg0) cerr='*'
write(*,1004) i3,n3,cerr,msg0,msg
if(i3.eq.0) write(*,1004) i3,n3,cerr,msg0,msg
1004 format(i1,'.',i1,1x,a1,1x,a37,1x,a37)
if(i3.ge.1) write(*,1005) i3,cerr,msg0,msg
1005 format(i1,3x,a1,1x,a37,1x,a37)
if(nargs.eq.1) exit
enddo

View File

@ -1,4 +1,5 @@
FREE TEXT MSG 71 0 71
CQ YW18FIFA
K1ABC RR73; W9XYZ <KH1/KH7Z> -12 28 28 10 5 1 71 DXpedition Mode
PA3XYZ/P R 590003 IO91NP 28 1 1 3 12 25 2 70 EU VHF contest (2)
PA3XYZ 520093 IO91NP 28 1 1 3 12 25 2 70 EU VHF contest (2)
@ -7,21 +8,15 @@ WA9XYZ KA1ABC 7D EMA 28 28 1 4 3 7 3 71 ARRL Field Day
WA9XYZ G8ABC 1D DX 28 28 1 4 3 7 3 71 ARRL Field Day
WA9XYZ KA1ABC R 32A EMA 28 28 1 4 3 7 4 71 ARRL Field Day
123456789ABCDEF012 71 71 Telemetry (18 hex)
7123456789ABCDEF01 71 71 Telemetry (18 hex)
71234567 71 71 Telemetry (18 hex)
81234567 71 71 Telemetry (18 hex)
7123456789ABCDEF01 71 71 Telemetry (18 hex)
8123456789ABCDEF01 71 71 Telemetry (18 hex)
WA9XYZ/R KA1ABC/R R FN42 28 1 28 1 1 15 74 Standard msg
WA9XYZ KA1ABC R-19 28 1 28 1 1 15 74 Standard msg
WA9XYZ KA1ABC +03 28 1 28 1 1 15 74 Standard msg
PA1XYZ/P GM4ABC/P R FN42 28 1 28 1 1 15 74 EU VHF Contest
TU; W9XYZ K1ABC R 579 MA 1 28 28 1 3 13 74 ARRL RTTY contest
TU; W9XYZ G8ABC R 559 0013 1 28 28 1 3 13 74 ARRL RTTY (DX)
<WA9XYZ> PJ4/KA1ABC 13 58 1 2 74 Nonstandard call
PJ4/KA1ABC <WA9XYZ> RRR 13 58 1 2 74 Nonstandard call
<WA9XYZ> PJ4/KA1ABC RR73 13 58 1 2 74 Nonstandard call
PJ4/KA1ABC <WA9XYZ> 73 13 58 1 2 74 Nonstandard call
<WA9XYZ> PJ4/KA1ABC 73 13 58 1 2 74 Nonstandard call
WA9XYZ KA1ABC -30 28 1 28 1 1 15 74 Standard msg
WA9XYZ KA1ABC +30 28 1 28 1 1 15 74 Standard msg
CQ K1ABC FN42
DE K1ABC FN42
QRZ K1ABC FN42
@ -34,3 +29,18 @@ CQ AAA K1ABC FN42
CQ ZZZ K1ABC FN42
CQ AAAA K1ABC FN42
CQ ZZZZ K1ABC FN42
PA1XYZ/P GM4ABC/P R FN42 28 1 28 1 1 15 74 EU VHF Contest
TU; W9XYZ K1ABC R 579 MA 1 28 28 1 3 13 74 ARRL RTTY contest
TU; W9XYZ G8ABC R 559 0013 1 28 28 1 3 13 74 ARRL RTTY (DX)
W9XYZ K1ABC 519 MA 1 28 28 1 3 13 74 ARRL RTTY contest
W9XYZ K1ABC 529 MA 1 28 28 1 3 13 74 ARRL RTTY contest
W9XYZ K1ABC 599 MA 1 28 28 1 3 13 74 ARRL RTTY contest
W9XYZ K1ABC 599 SNJ 1 28 28 1 3 13 74 ARRL RTTY contest
W9XYZ G8ABC 529 0013 1 28 28 1 3 13 74 ARRL RTTY (DX)
W9XYZ G8ABC 599 0013 1 28 28 1 3 13 74 ARRL RTTY (DX)
<WA9XYZ> PJ4/KA1ABC 13 58 1 2 74 Nonstandard call
PJ4/KA1ABC <WA9XYZ> RRR 13 58 1 2 74 Nonstandard call
<WA9XYZ> PJ4/KA1ABC RR73 13 58 1 2 74 Nonstandard call
PJ4/KA1ABC <WA9XYZ> 73 13 58 1 2 74 Nonstandard call
<WA9XYZ> PJ4/KA1ABC 73 13 58 1 2 74 Nonstandard call
CQ 313 YW18FIFA

View File

@ -15,11 +15,11 @@ subroutine pack77_1(nwords,w,i3,n3,c77)
grid4(3:3).ge.'0' .and. grid4(3:3).le.'9' .and. &
grid4(4:4).ge.'0' .and. grid4(4:4).le.'9'
! print*,'b',nwords,w(1:nwords)
if(nwords.lt.3 .or. nwords.gt.4) return
call chkcall(w(1),bcall_1,ok1)
call chkcall(w(2),bcall_2,ok2)
if(w(1)(1:3).eq.'DE ' .or. w(1)(1:3).eq.'CQ_' .or. w(1)(1:4).eq.'QRZ ') ok1=.true.
if(w(1)(1:3).eq.'DE ' .or. w(1)(1:3).eq.'CQ_' .or. w(1)(1:3).eq.'CQ ' .or. &
w(1)(1:4).eq.'QRZ ') ok1=.true.
if(.not.ok1 .or. .not.ok2) return
c1=w(nwords)(1:1)
c2=w(nwords)(1:2)

View File

@ -55,6 +55,8 @@ subroutine pack77_3(nwords,w,i3,n3,c77)
if(w(3+itu)(1:2).eq.'R ') ir=1
read(w(3+itu+ir),*) irpt
irpt=(irpt-509)/10 - 2
if(irpt.lt.0) irpt=0
if(irpt.gt.7) irpt=7
! 3 TU; W9XYZ K1ABC R 579 MA 1 28 28 1 3 13 74 ARRL RTTY contest
! 3 TU; W9XYZ G8ABC R 559 0013 1 28 28 1 3 13 74 ARRL RTTY (DX)
write(c77,1010) itu,n28a,n28b,ir,irpt,nexch,i3

View File

@ -42,6 +42,7 @@ subroutine unpack77(c77,msg)
! 0.0 Free text
call unpacktext77(c77(1:71),msg(1:13))
msg(14:)=' '
msg=adjustl(msg)
else if(i3.eq.0 .and. n3.eq.1) then
! 0.1 K1ABC RR73; W9XYZ <KH1/KH7Z> -11 28 28 10 5 71 DXpedition Mode