Mighty Macros for RTTY by WF1B
by Dick Stevens, N1RCT
(Originally published in the Digital Journal, August, 1996)
Updated 8 Jan 97

 Introduction  
      This popular program for RTTY contesting has many great features for contesting and one is a large macro capability of smart pre-programmed responses that can be sent by keyboard or mouse click. Ray WF1B points out in the instruction manual that you should set them to your taste as they only contain sample data.
      An interesting thread on the WF1B internet reflector in recent months dealt with optimizing macros to overcome some RTTY peculiarities and improve your chances for putting good print on the other person's screen. All these ideas came from others ... particularly Glenn AE0Q, Bob K0RC, Tyler, K3MM, Brian K6STI, Eddie W6/G0AZT, Bill W7TI,  Jay WS7I and Bruce V31JU, that I remember. These techniques will also help with other programs; I use them in Lan-Link for DX chasing.   So, let's take a quick look at unique things in RTTY that affect our operating.

Signal Synchronization
    Whoa, RTTY is an asynchronous mode, right? Not really -- the TNC must somehow locate the longer Stop Bits in a noisy audio stream, establish the timing it is seeing, and then start decoding characters. By then a few characters may have been missed. By sending a few spaces first, the other TNC has a good chance of establishing sync before you send the real info; so each macro starts with two spaces. And, of course, always have DIDDLE ON if you have it, for the same reason. (See below; all but macro 5 are indented by two spaces)

Garbage Characters
Unless he is running an AEA TNC with RFRAME ON, the receiver has lots of garbage characters spewing across his screen, not to mention other callers, adjacent stations, etc. You want to isolate your message from this clutter so that it pops out .. and a easy technique is to send a carriage return before and after your message, quite possibly putting your message on it's own private line of his screen. Putting a <CR> after your callsign when you call someone helps also; otherwise the garbage characters are tacked onto your callsign and it may be difficult to tell where your callsign stopped.  Even double <CR> might help. (See below; the carriage return/line feed keyword is <CR> ).

"USOS" Problems
When RTTY switches from letters to numbers, it sends a FIG shift character to change to the number/symbols alphabet (these can be actually seen with a program like RITTY by K6STI). When it needs to go back to letters, it sends a LTR shift character. Now the letters alphabet contains the symbol for a plain space .. so when you send a number string like 599 212 212, there are actually two characters sent where each space is; space, and FIG. If either is not read properly, a mess results, not to mention the time involved for the extra characters.

The solution for number chains is to use a character in place of the space that is part of the numbers alphabet and does not require any shift letters to be sent. For numbers, the normal one is to use is the dash (599-212-212); this has a higher probability of being printed, it will print noticeably faster, and has less time for qrm/qsb to occur. An example:

For letter chains, the plain space is best. CQ-CQ-DE-N1RCT-N1RCT is NOT good .. It is even worse than leaving spaces between numbers in the FIG/LTR shifts sent. Minimizing LTR/FIG shifts is useful for all RTTY transmissions, and perusing the characters ( Click Here) will pay off. Unfortunately, your callsign will contain a mix of numbers and letters. To demonstrate this better, I prepared the following file which I transmitted from the backup rig and received it on the main rig with RITTY by K6STI with the feature "Show Control Codes?" enabled. The file was:

SOME EXAMPLES OF BEST USE OF FIGS AND LTRS

AS DISPLAYED ON RITTY BY K6STI WITH CONTROL CODES ENABLED

RYRYRYRYRYRYRYR

599 234 234 234

599-234-234-234

RYRYRYRYRYRYRYRYR

N1RCT-N1RCT-N1RCT

N1RCT N1RCT N1RCT

******Click here for the Resulting RITTY Display********

      BTW, sometimes, well lots of times, USOS will convert a number string to letters; like ?21 EWQ EWQ ; in lieu of using the WF1B auto conversion, just look at the letter on your keyboard and then look at the number to the northwest .. there it is. Letters came out numbers? Same way... Look at an old green keys machine and see why.   

Long/Short CQing
True pileups are rare for the great majority of us in RTTY contesting. We are really trying to catch and keep the attention of someone tuning by every two or three minutes if the band is normal. If we want a 75 percent chance of a tuner-by hearing us and we want to leave 5 seconds between CQ calls, now quick, how long must be the CQ call be?? LOOOOONG. If your ESP says there is someone already there, a short CQ is in order. So I include both, but 95% of the time I am using the long call. The limit is 100 characters. (Macro 1 and 10, Fig. 1) .

So you managed to attract someone who does not know what you need .. I have a macro programmed which gives the info I want from them (shift-F1) .. but usually I prefer to type
alt-K FB, JUST NEED YOUR CQ ZONE WHICH IS 05 AND TIME WHICH IS 1245 alt-K
based on what the WF1B screen is showing. Their response is instant. Come to think of it, that could even be a macro. Then thank them profusely. Return business is everything.

WRK B4 CUL (alt-B)
Before smart contesting software, it was normal to avoid dupes like the plague, but it is not the best move in RTTY contesting. All contests allow identified dupes to be included, in fact require it. So when an apparent dupe calls you, just go ahead and work him again. I want to be sure I am in his log. I then reserve the alt-B key for when I get the finger.. ah .. WRK B4 CUL key. First check that you have the callsign right and that you are on the right band; he just may be right. Then send a alt-B message, when he is free, asking for a dupe. I always get instant exchange, no questions asked with this approach. Anyone calling CQ should know that if the QSO is not in my log, he will not get credit, and vice-versa. See below, B4 macro.

<HI> File
This is not a problem, it's an opportunity unique to RTTY contesting. With very few exceptions, most RTTY contests are slow paced for now and Ray has included the ability to address the other guy by his nickname (or whatever) when, where, and if you want it. There is file of 3000 names already made up on the WF1B Home Page, courtesy of Rob, PA3ERC, but you may prefer to start a little smaller, using names from your rag chewing/DX log or add them to PA3ERC's file. I make a list of callsigns I worked in the previous contest and make an effort to get a name for the new ones. Of course, I add the new names from my rag chewing between contests. So here are some examples:

[HI] ; must have, note brackets [ ], NOT < >
N1RCT=DICK ; plain vanilla
AA4M=BILL
AA4M/6=BILL ; Bill gets around; match must be exact
AA9RR=OM ; don't know, not in CB; see TU below
K4KJQ=GUYS ; Club Call
WB6WSL=FOOTHILL ; Foothill College Radio Club
W6/G0AZT= EDDIE MY MAN ; don't mis-interpret this one, pls

Don't include the comments .. they WILL print .. And it is probably better to omit names than to get it wrong. I use my Boxer text editor SORT instruction to get them in order and check for dupes, etc. Be cautious when exceeding 3000 names .. More memory for names and TSR's can be created by starting the program with "RTTY -1K ANARTS96"; this reserves memory for 1000 instead of the default 3000 qso. When WF1B 2.5f fires up, it shows the available memory; 15K left seems fine.

<HI>in Macros
Here is your chance to be different: put the <HI> up early, or at the end; try for a natural use that isn't glaringly obvious. I think I get a lot of calls, number 001, from guys that just said
"Hey Mabel, watch what happens when I call this lid contester ... but he's a good old boy, always remembers my name."
So the use of <HI> in the macros is not always wasted bandwidth, and even if it were, it's a nice touch. See below, macros 3,8,9, and B4 for my usage (at the moment). I see new ways of using it each contest .. With a little thought, you should be able to write down the macro used for any response you get in a test.

The <TU> Command
In addition to the [HI] file, Ray gives a second chance to communicate .. The [TU] list is also included in Friend.ini but in a section headed by [TU]. You may put any message after a callsign here; Ray says "Let your imagination be your guide." These will probably be for relatively few callsigns. One use is for the regular contester whose name you need (the OM's in the [HI] file); checking on a friend's progress; or general cage rattling.

[TU] ; brackets, not <>
AA9RR=PLS UR NAME? ; Not in Callbook
T91ENS=PEACE FOR ALL ; Sarajevo Radio Club
KK5OQ=HOW MANY QSO NOW? ; Can't use a Keyword or I could send mine auto
SM3KOR=PLS QRO ; Lars runs 15 watts into a coat hanger, you know
WF1B=EXALTED MASTER ; short form for contesting

Detailed Macro content
Here's the macros I used for the ANARTS contest back in June. The required exchange was RST-CQ Zone-Time. Only seven of the 41 keywords available were used; and <11> and <15> could have been typed directly. So effective macros do not need lots of keywords (which are best left for printing QSL labels), Your own macros are quick and easy to create and check out .. just shut off the radio and press all the keys. Comparing the macro and what comes on the screen will let you quickly fine-tune what you want.

Keywords used:
<1>      The callsign appearing in the lower left box (by mouse click, arrow key, or direct typing)
<11>    Your callsign as entered on the startup page (or just type your call)
<13>    Your computer clock time (set to UTC)
<15>    Your CQ Zone, from the start up page (or just type it in)
<CR>   Causes the other screen to reset to new line
<HI>     Substitutes name in Friend.ini [HI] list.
<TU>    Substitutes message in Friend.ini [TU] list.

F1 = <CR>CQ CQ TEST DE <11> <11> <11><CR>
(short cq; some like to put DE in front of each callsign to help WF1B spot calls; I find it clunky and slow)

F2 = <CR><1> 599-<15>-<15>-<13>-<13> <TU><1> DE <11> KN<CR>
(first response to caller; be sure that you have the right exchange; use alt-H to see them all. The endingcallsign exchange is another chance to get the callsign right and gives the guy a few seconds to get his response composed. See above for the <TU> info)

....Here you will receive the callers exchange info ....

F3 = <CR><1> QSL <HI>TU 73<CR>QRZ? DE <11> <11> K<CR>
(last response to caller; usually done by page-down key to autolog; I leave the <HI>until last so that the caller does not get distracted and try to remember my name on my time)

F4 = <CR><1> ?? AGN PLS DE <11> K<CR>
(use for partial callsign, no callsign, bad exchange, etc)

F5 =<1> DE <11>
(use after alt-K for manual typing of a message)

F6 = <CR>DE <11> <11> <11> <11><CR>
(when all you got was a QRZ?)

F7 = <CR><1> DE <11> <11><CR>
(first response to someone calling CQ)

....Here you will receive the CQer's exchange info;  use F4 if poor copy ....

F8 = <CR><1> QSL <HI> 599-<15>-<15>-<13>-<13> <11><CR>
(last response after you have CQer's info right; note the - between numbers)

F9 = <CR>GL <HI> 73 SK<CR>
(when a CQer sends special thanks, etc)

F10= <CR>CQ CQ ANARTS TEST DE <11> <11><CR>CQ CQ TEST DE <11> <11> <11><CR> (loooong cq)

B4 = <CR><1> <HI> I NEED A DUPE PLS DE <11> <11><CR>
(When you are told WRKED B4, but it is not in your log)

F5 breaks all the rules .. it's for use after pushing alt-K for to converse over something. The keys to the left are generally for use when you are calling CQ and the ones to the right for when you are tuning around. F9 is for when you should acknowledge some comments.

shift-PF Macros
If 11 macros just will not contain your ideas, you can add more via the {HIGHKEYS} section of the RTTY.ini file. You can't change them without exiting RTTY and may not use them much, but I have included mine anyway. In general, I use long-forms of the normal keys for the hard of hearing. The keywords are the same .. but it probably best to keep the length to one visible line in the editor screen.

{highkeys}
F1= <CR><1> PLS NEED UR CQ ZONE AND TIME UTC <11><CR>
F2= <CR>RYRY 599-<15>-<15>-<15>-<13>-<13>-<13> ?<CR>
F3= <CR><1> DE <11> <11> <11> <CR>
F4= <CR><1> BAD QRM AGN PLS DE <11> KN<CR>
F5= <CR>PLS FREQ IS IN USE 73 SK<CR>
F6=<1> DE <11>
F7= <CR><1> DE <1> <1> <1> <1><CR>
F8= <CR>599 599-<15>-<15>-<15>-<13>-<13>-<13> QSL? DE <11><CR>
F9= <CR><1> FB <CR>GL 73 DE DICK <11>SK<CR>
F10= <CR>QRL? DE <11><CR>
;HIGHKEYS ARE THE shift-PFx FUNCTIONS

The most important one here is F10, then listen, a short CQ, and more listening. Frequency stealing is not good form and will cost you in the end. Be polite to pirates with shift-F5 but I follow with a LOOOONG CQ immediately. When the contest exchange is crucial, such as a serial number, it is good to have a High Key already programmed with the expected requests for repeats .. If they ask for your serial number again, just give the serial number but repeated several times. Repeating information they are already happy with wastes time and opens up the possibility of new problems. The most common requests for repeats are your callsign, serial number, and state .. In a serial number contest, try:

F3=  <CR> <14>-<14>-<14>-<14> <CR>       (note the dashes - between the keywords <14>.

A piece of masking tape above the PF keys serves me for labels; check out Rich N6GG's column in the June '95 Digital Journal for the hard-core method of a master. Here are my labels for a standard keyboard:

KEY :            PF1    PF2       PF3      PF4         PF5      PF6     PF7      PF8       PF9        PF10
NORMAL:    CQ     RESP    ACK     AGN?     1x1       x3      1x3      RESP    GL           CQ
SHIFT :         INFO   RPT      1x3      QRM?    QSY     1x1     1x4      LONG    LONG     QRL?

Summing Up ..
Good macros can make a marked difference in your contesting .. both in getting more contacts into the log and making it more fun. They are also the image you will project. Don't hesitate to change macros on the fly when somethng does not seem to be effective. And always be prepared to hit alt-K and talk directly ... You must create a lot of diddles to attract attention and keep encroachers at bay .. and the macros is where we start. Another set can be created for a general DXing and rag chewing .

by Dick Stevens, N1RCT