Morse Practice Program User's Manual Dennis R. McManus W3IMA December 1, 1992 Notices ii This program was designed and written by Dennis R. McManus, W3IMA. Permission is granted to distribute this program free of charge to all who wish to use it for non-commercial purposes. Its intended purpose is to assist individuals or classes who are studying Morse code in order to obtain an amateur radio license. Although the program may be freely distributed, all rights to the program are retained by the author. It may not be modified in any manner without express written permission from the author. Copyright 1992 by Dennis R. McManus, W3IMA Table Of Contents iii TABLE OF CONTENTS 1. GENERAL OVERVIEW .................................................1 1.1. System Requirements ........................................1 1.2. Program Installation .......................................1 1.3. General Features ...........................................1 2. PROGRAM OPERATION ................................................3 2.1. Starting The Program .......................................3 2.2. Controlling The Program ....................................4 2.2.1. Selection With The TAB And Cursor Keys ...............4 2.2.2. Selection With "Hot Keys" ............................4 2.2.3. Selection Using The Mouse ............................4 2.2.4. Typing Entries In Input Boxes ........................5 3. THE CONFIGURATION SCREEN .........................................6 3.1. Setting The Code Characteristics ...........................6 3.1.1. Setting The Character Speed ..........................6 3.1.2. Setting The Sending Speed ............................7 3.1.3. Setting The Tone Frequency ...........................7 3.2. Selecting A Serial Port ....................................7 3.3. Loading A Configuration File ...............................8 3.4. Setting The Random Alphabet ................................8 3.5. Setting The Emphasis Alphabet ..............................8 3.6. Switching To The Practice Screen ...........................9 3.7. Saving A Configuration File ................................9 3.8. Testing The Code Configuration .............................9 3.9. Stopping Sending ...........................................9 3.10. Exiting From The Program ..................................9 4. THE PRACTICE SCREEN .............................................10 4.1. Practice Modes ............................................10 4.1.1. ( ) Random Group ....................................10 4.1.2. ( ) 5 Char AABAA ....................................10 4.1.3. ( ) Flash Card ......................................11 4.1.4. ( ) Text File .......................................11 4.1.5. ( ) Keyboard Out ....................................11 4.2. Special Options ...........................................11 4.2.1. [ ] Hide Text .......................................12 4.2.2. [ ] Compress Spaces .................................12 4.2.3. [ ] Stop On '@' .....................................12 4.3. Loading A Text File .......................................13 4.4. The Display Window ........................................13 4.4.1. Display Of Random Groups ............................13 Table Of Contents iv 4.4.2. Display Of 5 Char AABAA .............................14 4.4.3. Display Of Flash Card ...............................14 4.4.4. Display Of Text File ................................14 4.4.5. Display Of Keyboard Out .............................14 4.5. Switching To The Configuration Screen .....................15 4.6. Clearing Text In The Display Window .......................15 4.7. Sending Text ..............................................15 4.8. Stopping Sending ..........................................15 4.9. Exiting From The Program ..................................15 A. SPECIAL CODES ...................................................16 General Overview 1 GENERAL OVERVIEW 1. GENERAL OVERVIEW The Morse Practice Program was designed to make it easy to practice copying Morse code. It concentrates mainly on copying on paper which is the mode used when taking the license examinations. There are no special modes that create example code tests or methods that require the user to type the copied code on the keyboard. The intent of the program was to offer clean, well-timed code in a program that is easy to set up and use. 1.1. System Requirements The program is intended to run on all levels of IBM PC/XT/AT and 100% compatible systems with at least 160K of free memory and at least one floppy disk drive. It will run on monochrome or color video systems as well as LCD laptop displays. 1.2. Program Installation The program may be installed on a hard disk by simply copying all the files from the floppy disk to the desired directory on the hard disk. The main program file is MPP.EXE. There is also a default initialization file called MPP.INI which is used to set the initial configuration each time the program is started. There are also some text files that can be used for practice. These were copied from several sources in magazines and instruction manuals. 1.3. General Features The program display is divided into two main screens. These screens allow the user to configure the system and specify the practice mode to use. All the features available to the user are displayed on one of these two screens at all times. There is no need to remember which menu has which command in it. The first screen allows the user to set the configuration parameters for the program and to save and restore selected configuration sets. The second screen is used to control the practice session. It allows selection from among five operating modes. It also allows special conditions to be set that control how the text is sent and displayed. Three of the five operating modes involve sending of random characters. One mode allows sending standard ASCII text files and one allows sending text that is input from the keyboard. General Overview 2 The timing of the code is completely independent of the CPU speed of the PC. This allows the program to be run on all levels of PC without having to calibrate the speed. All timings are developed from a one millisecond time base that is achieved by reconfiguring the DOS time-of-day clock. The frequency of this clock is standard across all IBM PC compatible machines. Code can be sent with spacing between characters different than the actual character speed. This method, known as the Farnsworth Method, allows characters to be sent at a faster speed and have longer spaces between characters while still maintaining the specified overall sending speed. The program can optionally be controlled using a mouse as well as the keyboard. All operations that do not require the typing of text can be activated by the mouse. It is hoped that some day an on-line help system will be added. This has not been done as of this release. The F1:Help option on the bottom of each screen will currently just pop up a message box indicating the feature has not been implemented yet. Program Operation 3 PROGRAM OPERATION 2. PROGRAM OPERATION This chapter describes the program operation in detail. 2.1. Starting The Program The easiest way to start the program is to just type the program name on the command line without any parameters: MPP and the program will start with the configuration parameters that were in effect when the program was last exited. If you want to start the program with a specific set of configuration parameters that were saved in a disk file, supply the configuration file name as a parameter. For example: MPP GENERAL will cause the program to read the configuration file GENERAL.CFG to set its initial parameters. If no file extension is supplied, the default is .CFG. Three such configuration files are included that set up the parameters for code practice for the various license classes. These are NOVICE.CFG, GENERAL.CFG, and EXTRA.CFG. Creating configuration files will be explained in the subsection on the Configuration Screen. If you are using an LCD screen or a monochrome monitor with a driver that emulates color using different levels of gray shade, the screen may be hard to read. If this is the case, start the program with the -b command line switch to force monochrome operation: MPP -b or if also specifying a configuration file: MPP -b filename If the -b switch is used with a configuration file name, it must come before the configuration file name. Program Operation 4 2.2. Controlling The Program When the program starts, it displays the Configuration Screen. This is one of the two screens that are used to control all aspects of the program operation. The other screen is the Practice Screen. All operations that can be performed and options that can be selected are displayed on one or the other of these two screens. The options fall into five general categories: 1. Options that require values to be entered in input boxes. 2. Options that require selection of one item from a group. 3. Options that are individually turned on or off 4. Options that are performed immediately using function keys 5. Operations in the Display Window on the Practice Screen The blinking text cursor is always positioned on the "current" selection option. There are three ways to select the operation to perform on these screens other than those that are activated using the function keys: 1. By using the TAB and cursor keys 2. By using special "hot keys" (ALT key combinations) 3. By using the mouse. 2.2.1. Selection With The TAB And Cursor Keys All the related options are grouped within boxes on the screen. The TAB key moves from one box to the next. The Shift-TAB key moves in the reverse direction. Within a box, the Up and Down cursor keys move from one item to the next in the respective direction. Once the blinking cursor is positioned on the option you wish to perform, press either the space bar or the enter key to activate it. 2.2.2. Selection With "Hot Keys" Each option has one of its characters displayed in a highlighted attribute. Holding down the ALT key while pressing the highlighted character both selects and activates the specified option. 2.2.3. Selection Using The Mouse The program is designed to use a Microsoft mouse or any mouse that emulates the Microsoft mouse interface. The mouse can be used to Program Operation 5 select and activate any of the options including the function key options by moving the mouse cursor over the desired option and clicking the left button. The option is only performed when the mouse button is released so it important to keep the mouse cursor positioned over the option while releasing the button. 2.2.4. Typing Entries In Input Boxes When an option is selected that requires text to be entered from the keyboard, the current value, if there is one, is displayed in a highlighted mode with the text cursor on the first character of the entry. If any cursor movement key is pressed such as a right or left arrow key or the Home or End key, the highlight is removed and the original text stays in the input box. This allows existing entries to be modified without having to completely retype them. If any printable character is typed, the original text is removed and any text that is typed replaces the original entry. While entering and modifying text in an input box, various line editing options are available: 1. The right and left arrow keys may be used to move back and forth through the text. 2. The Ctrl-right and Ctrl-left arrow keys move a full word at a time in the respective direction. 3. The Home and End keys move to the beginning and end of the input text respectively. 4. The Ins key toggles between overtype mode (underscore cursor) and insert mode (block cursor). Pressing the Enter key or clicking on the OK button will accept the current input line. Pressing the Esc key or clicking on the Cancel button will retain the original entry unchanged. The Configuration Screen 6 THE CONFIGURATION SCREEN 3. THE CONFIGURATION SCREEN The Configuration Screen allows the user to set up the characteristics of the code speed and tone, select specific sets of characters to use for random code generation, specify a serial port to use to drive an external oscillator, and load and save configuration files which contain all these parameters. 3.1. Setting The Code Characteristics The first group of options on the Configuration Screen sets the character speed, sending speed, and tone frequency for the PC's internal speaker. The character speed and sending speed can be set separately. Specifying the character speed to be faster than the sending speed is often referred to as the Farnsworth Method. This allows the characters to be heard as a single sound pattern rather than individual dots and dashes and allows a longer time to recognize which character was sent. The two speed settings are described in detail below. Although the two speed numbers may be set to a resolution of a tenth of a word per minute, this accuracy is only guaranteed at the lower speeds. As the speed is increased, one millisecond time base becomes a larger portion of each character element. The 0.1 word per minute resolution is good up to about 10 words per minute. Up to about 40 words per minute, the resolution is accurate to at least 1.0 word per minute. Above those speeds, who is counting exactly anyway? The accuracy is good enough for the speeds required for Ham Radio tests. 3.1.1. Setting The Character Speed The character speed is the speed in words per minute that each individual character is sent at. The character speed may be set from 13.0 to 99.9 words per minute. The reason the lower limit is 13.0 is because below this speed, it is difficult to concentrate on the overall sound pattern of a character and too easy to count dots and dashes. The standard license tests are usually given with a character speed of either 15.0 or 18.0 words per minute depending on which Volunteer Examination Coordinator the testing is being given through. Note that the 20 word per minute test is usually given with the character and sending speeds both the same. The Configuration Screen 7 The character speed is not allowed to be less than the sending speed. If a value less than the sending speed is entered, the sending speed will be lowered to match the new character speed. 3.1.2. Setting The Sending Speed The sending speed is the actual overall speed in words per minute that the code is sent at. The valid range for this speed is from 1.0 to 99.9 words per minute. When the character speed is set to be faster than the sending speed, the spacing between individual characters is made longer in order to maintain the overall speed. The sending speed is not allowed to be greater than the character speed. If a value greater than the character speed is entered, the character speed will be raised to match the new sending speed. 3.1.3. Setting The Tone Frequency If the internal speaker in the PC is being used to produce the code, its frequency may be specified in Hertz from 20 to 9999. If a value of zero is entered, the internal speaker is turned off. The option of turning off the speaker is intended to be used when an external oscillator is being keyed using one of the serial ports as described below. 3.2. Selecting A Serial Port The second group of options on the Configuration Screen allows the selection of one of the standard serial ports to control an external code oscillator. The options are: 1. ( ) None 2. ( ) COM1: 3. ( ) COM2: The parentheses indicate that only one of these options may be selected at a time. Selecting any one of these options automatically deselects any other one in the group. A * character between the parentheses indicates which option is currently selected. Various circuits have appeared in magazines and other sources for keying an external oscillator from a serial port. To date, none have been tried with this program. Both the DTR and RTS control lines are keyed by this program on the selected serial port. The author would appreciate being informed of any success in this area. Note that when one of the serial ports is selected, it is not reconfigured by the program until the first code is sent. This allows for the case where a serial mouse is being used and the program The Configuration Screen 8 happens to start with the mouse's port selected. Simply select the other port or None before sending any code and the mouse will remain functional. If the None option is selected, neither serial port is changed from its current configuration. 3.3. Loading A Configuration File Each time the program exits to DOS, the current configuration parameters are saved on the disk in a file called MPP.INI. Special configurations can be saved to the disk and recalled at any time to set up the program. Selecting the Load Config File option displays an input box requesting the name of the saved configuration file to load. Files specified for this option must have been saved using the F3:Save Config option that is explained below. If no file extension is supplied, the default is .CFG. The information contained in the configuration files consists of all the options that are displayed on the Configuration Screen. As stated earlier, three configuration files are supplied with the program. These are NOVICE.CFG, GENERAL.CFG, and EXTRA.CFG. 3.4. Setting The Random Alphabet The Random Alphabet is used along with the Emphasis Alphabet (described below) in all practice modes that send random characters. These two strings list the only characters that will be sent in these modes. The Random Alphabet specifies the normal set of characters to select from. When you select this option, an input box pops up in which you may enter the characters that you want to use when sending random characters. This string is not permitted to be empty. Characters that have no Morse code equivalent in this program will show up in the input box as they are typed but will not be entered into the saved string. Some procedural signals such as AR and SK have single punctuation characters that are used to represent them in the program. These characters are listed just above the function key list at the bottom of the screen. Other punctuation characters translate directly into their Morse equivalent. See Appendix A for a list of punctuation characters and procedural signals supported by the program. If the input box contains only characters for which no Morse equivalent has been defined, the string ABC will be placed in the Random Alphabet to keep it from being empty. 3.5. Setting The Emphasis Alphabet The Emphasis Alphabet is used along with the Random Alphabet (described above). This string lists characters that will be sent more often in the random character sequences in order to get more The Configuration Screen 9 practice with them. This string may be empty in which case all random characters are selected from the Random Alphabet. The characters that are allowed to be included in this string are the same as those described under the Random Alphabet above. 3.6. Switching To The Practice Screen To switch to the Practice Screen, either press the F2 key or click the mouse on the F2:Practice option on the bottom line. 3.7. Saving A Configuration File The current configuration options may be saved to a disk file and recalled later to set the program back to the saved state. When F3 is pressed or the mouse is clicked on the F3:Save Config option on the bottom line, an input box is displayed asking for the name of the file to save the configuration information in. If no file extension is specified, the default is .CFG. 3.8. Testing The Code Configuration While on the Configuration Screen, if F8 is pressed or the mouse is clicked on the F8:Test option on the bottom line, the message "VVV TEST" is sent to give an example of the current code speed and tone frequency. This allows the code options to be adjusted to a comfortable configuration before beginning a practice session. 3.9. Stopping Sending To stop sending at any time, press F9 or click the mouse on the F9:Stop option on the bottom line. 3.10. Exiting From The Program To exit from the program, press F10 or click the mouse on the F10:Exit option on the bottom line. If code is currently being sent, this option will pop up an error box indicating that you must stop sending before exiting. This prevents accidental exit while practicing. After pressing Enter or clicking on the OK button to clear the error box, if you really want to exit, just stop sending as described above and select the F10 option again. The Practice Screen 10 THE PRACTICE SCREEN 4. THE PRACTICE SCREEN The Practice Screen is used to define the mode in which the code is sent (random character groups, text files, keyboard input, etc...) and also allows the user to set up special conditions for sending or displaying the characters. This is the screen on which all practice sessions will be controlled. 4.1. Practice Modes There are five modes for sending the code. The first three modes send random characters selected from the Random and Emphasis Alphabets that are defined on the Configuration Screen. The fourth mode sends text from any standard ASCII text file. The fifth mode sends characters that are typed on the keyboard. The parentheses indicate that only one of these options may be selected at a time. Selecting any one of these options automatically deselects any other one in the group. A * character between the parentheses indicates which option is currently selected. 4.1.1. ( ) Random Group In this mode, random groups of characters are sent. The characters are randomly selected from the Random Alphabet with special emphasis on any characters in the Emphasis Alphabet. The "words" range randomly between three and eight characters in length. Characters from the Emphasis Alphabet, if it is not empty, are randomly inserted with two to five characters from the Random Alphabet between them. The characters are displayed in the Display Window as they are sent if the Hide Text option is not currently active. 4.1.2. ( ) 5 Char AABAA In this mode, random characters are sent in groups with a special pattern. Each group is five characters in length in the form AABAA. The first two and last two characters are all the same and are selected from the Random Alphabet. The middle character is selected from the Emphasis Alphabet if it is not empty. Otherwise it comes from the Random Alphabet also. The characters are displayed in the Display Window as they are sent if the Hide Text option is not currently active. The Practice Screen 11 4.1.3. ( ) Flash Card In this mode, characters are sent randomly one by one and displayed in a large format in the Display Window like a flash card. If the Hide Text option is not active, the characters are displayed as they are sent. If the Hide Text option is active, each character is sent and not displayed until the next character would normally be sent at the current sending speed. This allows the user to try to recognize the character before it is shown. NOTE: Characters are not sent at the normal speed in this mode. Characters are displayed for the duration of a space between words and then after the character is removed from the screen another word space occurs before the next character is sent. This mode is intended for individual character recognition practice and not "at speed" practice. 4.1.4. ( ) Text File In this mode, a selected ASCII text file may be sent. The file that is sent is selected using the Load Text File option described below. If the Hide Text option is not currently active, the entire text (or as much as will fit in the window) is displayed and a special cursor tracks the characters as they are sent. The point in the file at which sending starts may be selected by placing the cursor at the desired location before starting. If no text file has been selected, nothing is sent when the F8:Send option is selected. 4.1.5. ( ) Keyboard Out In this mode, the text that is sent is entered from the keyboard. If sending is active, the characters will be sent as they are typed (or as fast as the sending speed allows). If sending is not active, text can be entered and edited as desired and then sent when it is complete. The Hide Text and Compress Spaces options have no effect on this sending mode. Characters for which there are no Morse code translations in this program will be entered into the Display Window but will be skipped when they are encountered while sending. Some procedural signals such as AR and SK have single punctuation characters that are used to represent them in the program. These characters are listed just above the function key list at the bottom of the screen. Other punctuation characters translate directly into their Morse equivalent. See Appendix A for a list of punctuation characters and procedural signals supported by the program. 4.2. Special Options The second group of options on the Practice Screen allow selecting special modes of displaying and sending the text. In this group, the The Practice Screen 12 square brackets indicate that each option may be turned on and off individually in any combination. An X in the brackets indicates that the option is active. 4.2.1. [ ] Hide Text The main purpose of this option is to indicate whether the text that is being sent should be visible on the screen or not. This is true for Random Groups, 5 Char AABAA, and Text File modes of sending. If the option is active, no text is shown in the Display Window. In the Flash Card sending mode, it controls whether there is a delay between sending the character and displaying it or not. If the option is active, a normal inter-character delay is inserted before the character is displayed. This gives the user the same amount of time to recognize a character that would normally occur when receiving text "at speed". If the option is inactive, the character is displayed immediately as it is sent. 4.2.2. [ ] Compress Spaces This option is only used in the Text File sending mode. If the option is active, groups of consecutive white space characters (spaces, tabs, and line endings) are sent as a single space. This allows general text files that may have large spacing in them to be sent at a normal speed without having to send each space in the groups. This option does not have any effect on the Keyboard Out sending mode because it is assumed that if multiple spaces are keyed, it is desired that they be sent. 4.2.3. [ ] Stop On '@' When this option is active, if an @ character is encountered, sending stops automatically at that point. This works in both the Text File and the Keyboard Out sending modes. This allows multiple short messages to be grouped in a single file or to be keyed in at the same time and be sent one at a time. The message that is sent may be selected by placing the cursor at the desired point before starting sending. In the Text File mode, the cursor automatically moves past the @ character before it stops so that the next message will begin properly when sending is started again without moving the cursor. Because the keyboard cursor does not move with the sending cursor in the Keyboard Out mode, starting again after an @ character stops sending would repeat the last message. The Practice Screen 13 4.3. Loading A Text File This option is used to select the ASCII text file that will be used in the Text File sending mode. When you select this option, an input box pops up asking for the name of the text file to use. After the text file is opened, its name is displayed in the Load Text File selection box. If the sending mode is set to Text File, the file contents will show up in the Display Window if the Hide Text option is not active. If no file has been selected since starting the program, the string "-- None --" is displayed. 4.4. The Display Window The Display Window is the area on the bottom half of the Practice Screen. It is used to display the characters that are sent. The cursor may be moved around in the window while not sending. If more text is present than will fit in the Display Window, the normal cursor movement keys may be used to move around in the window as long as the cursor is in the Display Window. The mouse may be used to place the cursor on any character that is currently visible in the window by clicking on the desired location. The arrow keys move one character or one row in the appropriate direction. The Ctrl-Left and Ctrl-Right keys move one word in the appropriate direction. The PgUp and PgDn keys move one window at a time in the appropriate direction. The Home and End keys move to the beginning and end of the current line respectively. The Ctrl-Home and Ctrl-End keys move to the beginning and end of the entire text respectively. The data in the Display Window behaves differently depending on the sending mode that is currently selected. The following subsections describe the behavior in each mode. 4.4.1. Display Of Random Groups In this sending mode, the characters are displayed as they are sent if the Hide Text option is not currently active. The text remains in the window after sending is stopped as long as the sending mode is not changed. If code was being copied with the Hide Text option active, disabling the Hide Text option will display the characters that were sent so that copy may be checked against what was sent. The cursor may be placed anywhere in the displayed text in this mode if not currently sending. When sending is started again, however, the new characters will be started at the end of those that are already displayed. The contents of the Display Window may be cleared by either using the F3:Clear Text option on the bottom of the screen or changing to a The Practice Screen 14 different sending mode. The Display Window is always cleared when this mode is entered. 4.4.2. Display Of 5 Char AABAA The behavior of the Display Window in this sending mode is the same as for the Random Group sending mode described above. 4.4.3. Display Of Flash Card In the Flash Card sending mode, a box is displayed in the middle of the window. As characters are sent, they are displayed in large format in this box. If the Hide Text option is not active, the characters are displayed immediately as they are sent. If the Hide Text option is active, the character is not displayed until after a delay equal to the time between characters within a word. This gives you the amount of time you would normally have to recognize a character before it is displayed. In this sending mode, the cursor may not be moved in the Display Window. Procedural signals that are normally thought of as a pair of characters like SK or AR are shown as their respective pair instead of the punctuation characters that represent them in the program. 4.4.4. Display Of Text File In the Text File sending mode, the contents of the selected ASCII file are displayed in the window if the Hide Text option is not active. If the text is visible in the window, a special cursor shows which character is currently being sent while sending. While not sending, the cursor can be placed at any point in the text file using the methods described at the beginning of the section on the Display Window above. Sending always starts at the location of the cursor. This allows you to select where to start sending in a file. The text of the current file remains available until a different file is selected in its place or the program is terminated. The F3:Clear Text option at the bottom of the screen does not work in this sending mode. 4.4.5. Display Of Keyboard Out In the Keyboard Out sending mode, the text that is displayed in the Display Window is whatever is entered through the keyboard. If sending is active while typing, the characters will be sent as they are typed (or as fast as the sending speed allows). A special cursor shows the characters that are being sent. The normal text cursor can be placed at any point in the existing text and text can be added or changed even while sending. This will not change what characters are The Practice Screen 15 being sent unless the changes are being made where the sending cursor is or sending is stopped and restarted. As with the Text File mode, sending always starts at the cursor location. This mode is useful for setting up special text to be sent in a class or group study session. The Hide Text option has no effect on this sending mode because you already know what you are typing in anyway. The text that you type in this mode remains available even after switching to a different mode and back again. You can clear any existing text from the Display Window in this mode using the F3:Clear Text option on the bottom of the screen. 4.5. Switching To The Configuration Screen To switch to the Configuration Screen, either press the F2 key or click the mouse on the F2:Configure option on the bottom line. 4.6. Clearing Text In The Display Window The text that is currently in the Display Window for the Random Group, 5 Char AABAA, or Keyboard Out sending modes may be cleared by pressing F3 or by clicking the mouse on the F3:Clear Text option at the bottom of the screen. This option has no effect on any other sending mode. This option also does not work while program is sending. 4.7. Sending Text To start sending in any of the five sending modes, either press F8 or click the mouse on the F8:Send option at the bottom of the screen. 4.8. Stopping Sending To stop sending at any time, press F9 or click the mouse on the F9:Stop option on the bottom line. 4.9. Exiting From The Program To exit from the program, press F10 or click the mouse on the F10:Exit option on the bottom line. If code is currently being sent, this option will pop up an error box indicating that you must stop sending before exiting. This prevents accidental exit while practicing. After pressing Enter or clicking on the OK button to clear the error, if you really want to exit, just stop sending as described above and select the F10 option again. Appendix A Special Codes 16 APPENDIX A SPECIAL CODES A. SPECIAL CODES The Morse code characters supported by the program include the normal alphabet, A - Z, the numbers 1 - 9, the following punctuation characters: " Quote di-dah-di-di-dah-dit $ Dollar di-di-di-dah-di-di-dah ' Apostrophe di-dah-dah-dah-dah-dit ( Left Paren dah-di-dah-dah-di-dah ) Right Paren dah-di-dah-dah-di-dah , Comma dah-dah-di-di-dah-dah - Hyphen dah-di-di-di-di-dah . Period di-dah-di-dah-di-dah / Fraction Bar dah-di-di-dah-dit : Colon dah-dah-dah-di-di-dit ; Semicolon dah-di-dah-di-dah-dit ? Question di-di-dah-dah-di-dit _ Underscore di-di-dah-dah-di-dah and several procedural signals that are represented using other punctuation characters: ! Attention (KA) dah-di-dah-di-dah # End of contact (SK) di-di-di-dah-di-dah & Understood (SN) di-di-di-dah-dit * Wait (AS) di-dah-di-di-dit + End of message (AR) di-dah-di-dah-dit = Double dash (--) dah-di-di-di-dah