Download Micro Cornucopia
Transcript
Morse Code Interface For The Kaypro By James E. Shaffer It doesn't take an expensive or complicated interface to make the Kaypro II receive and transmit international morse code. Plus, a license isn't required to receive Amateur Radio Morse Code, only to transmit it. So, here is a way for the non-amateur radio computer hacker to have some fun watching the dit-dah-dits magically appear on the Kaypro screen in English. 445 Los Robles #307 Pasadena CA 91101 Cheap Hardware The hardware has only 13 components and receives its power from the Kaypro. All connections are to the parallel printer port. The LM567 tone detector converts audio from the speaker jack of any shortwave receiver to digital pulses. These CW pulses are sent to Kaypro via pin 11. The Kaypro outputs CW on pin 9 of the printer port to a 4N33 optoisolator which will key most modern transceivers. I used pin 30 for ground, and pin 18 for +5 volts. I understand that earlier models of Kaypro II did not have +5 volts on pin 18. So if you have an old II, you may have to go inside to get power for the cheap and dirty. Dirty Software The software is MBASlC so everyone can understand and modify it to suit their needs. It has lots of GOTO's, so I guess the PASCAL folks will call it dirty. The program starts out in the receive mode. The cursor keys are used to control the program. Up arrow = Transmit Mode Down arrow = Receive Mode Left arrow = Dec. xmit speed 2 wpm Right arrow = Inc. xmit speed 2 wpm The software is adjusted to run with a 4 MHz clock. If you have a 2.5 MHz version change the S+4's to 5 in lines 230, 240 and 250. Speak English, please! To calibrate the cheap and dirty interface, tune in a clear CW signal, then ad- 40 • •• Figure 1 - Morse Code Interface Circuit .3 )eMIT Key: & IKA'I'PRolt I PRunE:R.. ---j[r--------------------S Ul 211--r____________________~I-4PORT~~ o I 19 AUOIO J:N U I 4N33 d~I·IOO The Cheap and Dirty CW Interface The following cheap and dirty interface and software will also enable experienced Hams to send and receive CW (continuous wave) at incredible speeds. Have fun with the cheap and dirty. I have been using it for over a year now without any problems. It performs like an expensive and complicated interface. just R3 until you see the dit-dah-dits converted to English on the screen. Sometimes Amateur Radio operators use so many abbreviations it's hard to recognize that the message is English. c3 05 F I ~.---,..-----,-----il·~·...::~....;....------. ~ VI lN3~ I r----t---II TO,..F c4 D2 IN34 rll ..L Parts List +5'1 I ,....-J:----=--~'--, t5v tllE I I C1 C2 C3 C4 C5 C6 H1 R2 R3 1uF 25V Tantalum .047uF Mylar .05uF 50V Ceramic Disc 10uF 16V Electrolytic .1uF 50V Ceramic Disc .1uF 50V Ceramic Disc 100 ohm 1/4 watt 4.7k ohm 1/4 watt 10k ohm mini pot D1 D2 U1 U2 1N34 1N34 4N33 LM567 I rr -= I 30 I Figure 2 - Morse Code Program MBASIC Program 10 , •••••••••• RECEIVE AND XMIT MORSE CODE •••••••• 20 , 30 , 40 , 50 CLEAR 100:DEFINT A-Z:DIM Y$(6,63):PRINT CHR$(26):B=7:TR=1 60 DIM X(47,6):S=9:SI=400/S-5:FOR 1=1 TO 47:FOR J=1 TO 6:READ X(I,J) :NEXT J,I 70 Y$=nETINAMSDRGUKWOHBLZFCP VX Q YJ 56>7 8 /94= 3 2 10 n 80 N=O:FOR 1=1 TO 5:FOR J=o TO 2~I-1:N=N+1:Y$(I,J)=MID$(Y$,N,1):NEXT J:NEXT I 90 Y$(5,13)=RKNn:FOR J=1 TO 63:Y$(6,J)=n n:NEXT J:Y$(6,7)=,,:n 100 Y$(6,12)=n?n:Y$(6,21)=n;n:Y$(6,40)=R<n:Y$(6,42)=n.R:Y$(6,51)=n,n 110 FOR I=O TO 6:J(I)=2~I:NEXT I:PRINT nRECEIVE MODEn 120 I=O:J=O 130 IF INP(28)<70 THEN N=N+1:IF N«2*B) THEN 130 140 N=O:IF INP(28)<70 THEN GOSUB 290:PRINT n n;:GOTO 130 150 N=N+1:IF INP(28»70 THEN 150 160 IF N>=B THEN J=J+J(I):B=(9*B+2.N+6)/12 ELSE B=(3.B+2.N+2)/4 170 N=0:I=I+1:IF 1>6 THEN GOSUB 290:PRINT R n;:GOTO 210 180 IF INP(28)<70 THEN N=N+1:IF (2·N)<B THEN 180 ELSE 200 190 IF INP(28»70 THEN N=O:GOTO 130 200 GOSUB 290:PRINT Y$(I,J);:N=N+1 210 X$=INKEY$:IF X$=nn THEN IF TR=1 THEN 120 ELSE 210 220 I=ASC(X$)-43:IF I=-33 THEN TR=1:PRINT R( RECEIVE MODE )n:GOTO 120 230 IF I=-32 THEN TR=O:PRINT n( XMIT MODEn;S+4;n )n:GOTO 210 240 IF 1=-31 THEN S=S+2:SI=400/S-5:PRINT n( SPEEDn;S+4;n )n; 250 IF I=-35 AND S>8 THEN S=S-2:SI=400/S-5:PRINT n( SPEEDR;S+4;R )R; 260 IF 1<1 OR I>47 THEN PRINT n n;:FOR J=14 TO 7.SI:NEXT:GOTO 210 ELSE PRINT X$; 270 FOR J=1 TO 6:IF X(I,J) THEN FOR K=2 TO SI.X(I,J):OUT 8, 128:NEXT:OUT 8,0:FOR K=2 TO SI:NEXT 280 NEXT:FOR J=6 TOK 3.SI:NEXT:GOTO 210 290 IF POS(3)=80 THEN PRINT CHR$(13) 300 RETURN 310 DATA 3,3,1,1,3,3,1,3,1,3,1,0,1,3,1,3,1,3,3,1,1,3,1,0,3,3,3,3,3, 0,1,3,3,3,3,0,1,1,3,3,3,0,1,1,1,3,3,0,1,1,1,1,3,0,1,1,1,1,1,0,3,1,1, 1,1,0,3,3,1,1,1,0,3,3,3,1,1,0,3,3,3,3,1,0,3,3,3,1,1,1,3,1,3,1,3,1,1, 3,1,1,1,0,3,1,1,1,3,0 320 DATA 1,1,1,3,1,3,1,1,3,3,1,1,0,0,0,0,0,0,1,3,0,0,0,0,3,1,1,1,0, 0,3,1,3,1,0,0,3,1,1,0,0,0,1,0,0,0,0,0,1,1,3,1,0,0,3,3,1,0,0,0,1,1,1, 1,0,0,1,1,0,0,0,0,1,3,3,3,0,0,3,1,3,0,0,0,1,3,1,1,0,0,3,3,0,0,0,0,3, 1,0,0,0,0,3,3,3,0,0,0,1,3,3,1,0,0 330 DATA 3,3,1,3,0,0,1,3,1,0,0,0,1,1,1,0,0,0,3,0,0,0,0,0,1,1,3,0,0, 0,1,1,1,3,0,0,1,3,3,0,0,0,3,1,1,3,0,0,3,1,3,3,0,0,3,3,1,1,0,0 Micro Cornucopia, Number 17, April 1984