MORSE.DOC Version 1.1 Copyright 1987 by Peter V. Inskeep This is the documentary information for the programs morse.s and morse.r. They were written by Peter V. Inskeep, Amateur Radio Call, NO2D. My address is: 6 Clearview Drive Long Valley New Jersey 07853 I can be reached via email on Compuserve, 72017,1211. I also hang out sometimes on the low end of 20 meters in the evening. You may feel free to use or abuse the attached source code as you see fit so long as you do not sell it for profit or use it in a program for profit without my prior written consent. The atttached file, morse.s, is the source code for a morse code practice sending session, and morse.r, is the run file for the same program, and can be run from the cli. I never tried to run it from the workbench. I suppose it might run if you constructed or borrowed an icon for it from some other program. It is written entirely in assembly language and compiled with the Metacomco assembler and linker. Most of what happens is explained in the comments which follow each line of code. I can add a few clarifying comments, however. The INCLUDE files were avoided because they add so to assembly time when testing. If you prefer to use the INCLUDE files, then set the equates accordingly, so that you do not get hundreds of multiple definition errors. There are probably some INCLUDE files which I have not included, but which will have to be added in order to assemble properly using the INCLUDE files. The Outfile.equ file was created by setting the -e option on the assembler and running a dummy assembly program with all of the INCLUDE files whose equates you want or need. This from a copy of The Trans- actor some months back. It is much faster than just using the INCLUDE files, but not as fast as setting only the needed equates in the source. Version 1.1 has some changes from the original version. I corrected an error noted by Peter S., whereby the random code generator was not generating all of the letters of the alphabet (who would notice that). Also, I added a menu item to permit selection of random code with or without numbers and punctuation. Many people learning code find it easier to concentrate on letters only, and to pick up the numbers later. A better, shorter easier clear screen routine was added. I also created a DoIO call that would be less CPU intensive for timing the length of dot and dash elements. I am indebted to Darrel Schneider's program SpriteClock for pointing out how to properly open and close the IO TimeRequest Structure so that my task would sleep while the dots and dashes were being sent. The suggestion for this improvement also came from Peter S., who may be the only person who has even looked at the program. There is a color 3 stripe that sometimes appears across the top of the screen. It was put in to add color to a dull program. If it bothers then look for a pair of 2's in the drawline structure, and change them to a pair of 0's. A subroutine, sendmorse, has been added to send a null terminated string pointed to in address register a5. If you wish to add specific code to send just write the string into the data section, terminated with a zero, put a pointer in a5, and bsr to sendcode. As I was debugging one or another of the problems with this program I was listening on 40 meters with my old second hand flea market Heath- kit HW-7 QRP (very low power) transceiver. I made contact with K6RM in San Francisco, 3,000 miles away. On three watts input power! The sun spot cycle is beginning to climb rapidly. There has never been a better time to become active in Amateur Radio. Now that Novices have voice privleges on 10 meters and 220 Mhz., they can work around the world with increasing ease, and work through local repeters while mobile or on foot with small handi-talkies. If you don't know how to get started, contact the ARRL in Newington, Conn. (Publishers of QST Magazine), and ask them for the name of a ham radio club near you. If you take the first steps you will enter a hobby that will provide you with lots of interesting variety for many years to come. As well, Ham Radio and Computers are natural stable mates, and both hobbies come into play in a variety of ways in Ham Radio. The primary purpose for writing this program was to see if I could learn how to create menus, proportional gadgets, and images in assembly language. Therefore, the code section is rough. I have not even tried to create an output so that one can feed the code to the transmitter. This is usually done with an output on one of the joystick pins, and I guess would not be hard to do. With all of the ports on the back of the Amiga, there must be an even better way to do that. There is an Amiga Amateur Radio net operating at 3.882 Megahertz on Tuesday nights at 7:00 pm eastern time. Tune in for helpful information on the Amiga. I have pilfered assembly language algorythms from many sources to put this program together. Primary among them have been "68000 Assembly Language Programming", by L. Leventhal, Compute's Amiga Programmer's Guide, edited by S. Levy and the various issues of The Transactor, which has got to be the definitive mag for the Commodores and the Amiga. Specific thanks to Peter S. and Darrel Schneider for ideas on random numbers and DoIO. I hope you enjoy this and don't hesitate to write if you have questions. 73's Pete N02d CIS 72017,1211