Help Index
NUMORSE HELP INDEX

It is a condition of use that the Author shall not be liable for any direct, indirect, incidental or consequential damages arising from the use of the NuMorse program or any information connected with the program.

Topics available from the help index:

Overview of NuMorse

Alphabetic listing of topics

Keyboard and mouse

The menu commands

Procedures

Technical reference

NUMORSE.INI

Instructions on using help

A word from the author

Program Registration

Click on an underlined topic.


ALPHABETIC LISTING OF TOPICS

@

accelerator keys

adapt

addressing

alphabetic filter

ascii text

attempts allowed

audible warning

author

buffered input

calibrate

CCITT

character display

clear source file

response statistics

click

closing down

code filters

code sent button

code source, control codes

code source

control codes

control

custom filter

custom

dash

data to port

default, restoring to

default settings

display prosigns

display statistics

distribution, random

dot

drill audible warning

drill mode

drill session time

drill settings

drill show correct character

drill tries allowed

drill visual warning

Editing custom filter

editing external files

editing NUMORSE.INI

embedded control codes

envelope controls

exiting from numorse

f10

f1

f9

faster

file, open

file, save as

file, source

file, serial source

file editor

file menu

file open dialog box

file random source

filter,code sent button

filter custom

filter letters

filter numbers

filter presets

filter prosigns

filter punctuation

filters dialog

finish

frequency

generator, random

groups, random

guessing code

hardware

help instructions

help

helpme

history box

history of program

hot keys

incorrect response

index

instructions

invert custom filter

keyboard, code source

keyboard and mouse

keypress

learning morse code

letters, filtering

load default settings

log files

main

maximize icon

menu commands

minimize icon

morse code drill

MORSE.INI

mouse

note

number sequence

numeric filtering

numorse main window

numorse overview

NUMORSE.INI

open file in file window

open settings file

open source file

opening source file

output device

PARIS

performance

pitch

play continuously

play menu

play mode

play settings dialog

playing morse code

port

preferences dialog

preset

printer

procedures

problems

prosigns, displaying

prosigns,filtering

pseudo random source

pseudo random

punctuation filter

quit

random seed

random stream

random weighted

random weighting

registering NuMorse

resetsourcefile

response

responses,reviewing

retries

review

running NuMorse

save as in file window

save settings file

save

seed

select output device

sent code, reviewing

sent code

serial source file

session time

session timeout

settings, default

settings, opening file

settings menu

shortcut keys

Sine wave

showing character

sizing border

slower speed

SoundBlaster™

sound files

source, serial

source filename, clearing

source for code

source setting

spacing, character

spacing, word

speed, adaptive

speed, adaptive

speed, setting in timing dialog

speed control

speed menu option

Square wave

starting numorse

statisticss

stream, random

summary

system menu

technical reference

testing

text file for code source

time for responding

time out

timing calibration

timing character spacing

timing dash length

timing dot length

timing frequency

timing parameters

timing word spacing

tone

training

tries allowed

typeahead, keyboard

using the mouse

view

Volume control

visual feedback of errors

wav files

warn

window

windows

wpm

wrong

wrong


NuMorse Overview
Overview of NuMorse

NuMorse is a Windows application designed to help you to learn Morse code. It has many features intended to make this task as painless as possible. Here is a selection:

Alter timing to send code as slowly as you like, speed up as you become more proficient.

Start with just a few characters, add extra characters whenever you wish using filter feature.

Play characters from random stream, disk file or keyboard using character source feature.

Use timing options to alter code style from standard Morse to enhance the clarity of the code.

Morse speed, characters sent, style can all be saved to file and then reloaded.

Prosigns used in FCC tests are supported.

Several drill modes, guess the character sent. Configure how NuMorse responds to your guesses.

NuMorse will gather detailed statistics on your performance while training, you can then use the statistics to adjust code settings.

Adaptive mode where NuMorse adapts code speed to your abilities.

Log files to record code output as well as user responses, cut&paste log file contents to other applications such as word processors. Print out log file contents.

A large number of code filter options. You may apply random number weighting so that certain characters are sent more often than others.

Send code output to a hardware device such as a tone generator.

Control speed and display your own messages during a Morse practice session using embedded control codes in a code source file.


Help instructions
NuMorse help Instructions

For more complete instructions press the F1 key while the Help window is active.

To return to the index

Click the Contents button at the top of the Help window.

To use the Help Index

Click an underlined topic.

or	Press the TAB key until you highlight the topic you want, and then press the ENTER key.

To scroll in the Help window

Press PageUp or PageDn keys.

or	Use the scroll bars with the mouse.

To return to the previous topic

Click the Back button or press the B key.

To open the Topic Search feature in Help

Click the Search button or press the S key.

To close the Help window

From Help's File menu, choose Exit (ALT, F, X).

or	Press the ALT F4 key.

or	Click on the minimise icon.

or	Double-click the Control-menu box in the upper-left corner of the help window.


Technical Reference 1
Technical Reference

Windows 3.1 Multimedia Sound Functions.

Windows 3.1+ Multimedia Sound Functions are supported from NuMorse V1.20 onwards. Using the PC's internal speaker you are normally stuck with one volume level, there is a way round this problem without having to purchase a sound board. If you install one of the freeware sound board emulation drivers (such as the Microsoft™ Speaker Driver) and then set up NuMorse to send to sound board using the device select dialog you may be able to control the PC speaker volume using the volume control in the Sound Board Dialog box. The Microsoft™ Speaker Driver has given very variable results in the machines I have tested it on, don't expect brilliant results from it. There is also a facility for driving an external tone oscillator via a user selectable hardware port.

The development system.

The hardware used:

Multiplex™ 386DX running at 33Mhz with 4Mbyte Ram and Doublespaced™ 120Mbyte HD.

Tseng Labs™ SVGA board, running in 640X480 and 800X600 modes.

Microsoft™ mouse&driver

Escom™ Multimedia Sound Card V2.0

Software:

Windows™ 3.1 running on top of MSDOS 6.2.

Source is mainly Pascal sprinkled with a little assembler. Compiler is Borland Pascal for Windows™. Resources were designed using Borlands Resource Workshop™. This help system was set up using the Microsoft™ Help Compiler V3.01 with the help text entered into Microsoft Word for Windows™.


Keyboard and Mouse

Using a mouse

Using the keyboard

Keyboard Hotkeys


Menu Commands

File Menu

Play Menu

Settings Menu


Procedures

Starting up

Playing morse code

Learning morse code

Exiting NuMorse


Hotkeys

Keyboard hot keys allow rapid movement around the program, instead of selecting menu items you just press a hotkey combination. Keyboard hotkeys are displayed alongside menu items where relevant. Here is a list of available hotkeys:

Hotkeys used in most Windows applications, for explanations refer to your Windows Users Guide:

Alt+Space	Open the control menu.

Shift+F1	Help cursor; when help cursor displayed point and click on any menu item 	for help on that item.

F10	Go to files menu.

F1	Get help.

Alt+F4	Close window, exit from NuMorse.if in main window

Ctrl+Esc	Bring up task list

Hotkeys specific to NuMorse

F3	Open a settings file

F2	Save current settings file

Ctrl+F9	Continuous play dialog box

F9	Drill dialog box

Alt+F9	Statistics dialog box


Using the Mouse

Standard mouse usage is implemented throughout the program, only the left mouse button is used. To select a menu item point to it and click.

To get help when using a mouse click on the help menu, then click on the required item. Many of the dialog boxes in NuMorse have a help button, click on this to summon help.

A quick way to exit from the current window is to double click on the control menu icon. This is the small box that normally appears at the top left corner of a window.

In a dialog box click on the required control to alter its state. Some controls have associated scroll bars, click and drag on these to bring hidden text into view in list boxes.


File menu
The File Menu

Here is a list of the commands available from the File menu:

Source open

Source clear

Settings open

Settings save

Settings save as

Review characters sent

Review user responses

Exit


Play menu
The Play Menu

Here is a list of the commands available from the Play menu:

Play

Drill

Statistics


Settings menu
The Settings Menu

Here is a list of the commands available from the Settings menu:

Source

Filters

Timing

Drill

Play

Preferences

Speed

Defaults

Calibrate


Starting NuMorse

To start up the program double click on the NuMorse icon in the NuMorse program group. Another way to start up the program is to type WIN NuMorse at the DOS prompt.

NuMorse can also be run via File Manager by double clicking on the NUMORSE.EXE directory entry.

When NuMorse launches it will spend a short period loading the file NUMORSE.INI from your \WINDOWS directory. If this file is not detected NuMorse will start up anyway and then initialise NUMORSE.INI automatically with a set of predefined values.

As soon as the main menu is displayed you may go straight to the Play menu, or use the file menu to recall previously saved settings.


Exiting from NuMorse

To exit from NuMorse get back to the main menu. If you are in a dialog box there are various ways of getting back to the main menu:

1.	Click on the  cancel button, any changes made in the box will be discarded before the box is closed.

2.	Press Esc, this is equivalent to clicking on Cancel.

3.	Double click on the system menu icon, top left corner, equivalent to cancelling.

4.	Click on the system menu to open it, then click on Close.

5.	Click on OK, changes will be saved before the box is closed.

6.	If the Cancel or OK button has the focus (indicated by a thick black outline) then pressing the ENTER key will close the dialog box

Here are some ways to exit from the program from the main menu:

1.	Select File/Exit

2.	Double click on the system menu icon, top left corner.

3.	Press Alt+F4

4.	Click on the system menu to open it, then click on close.

If any program settings were altered you will be asked if you wish to save the new settings before leaving NuMorse. If you select OK with the Save as default checkbox checked then the current settings will be saved to the NUMORSE.INI file and will be the settings used by default the next time the program runs.


Playing Morse Code

To play Morse code select Play/Continuous or Ctrl+F9 and the Play dialog box will open. Click on the Play button to start. Click on the Stop button for a temporary pause. You may need to use the Settings menu or Speed control to adjust the Morse code output to your needs. When playing NuMorse always sends its output to a log file and any user responses will also be sent to a further log file.


Learning Morse code

Here are few suggestions for learning the Morse Code:

When you start dont set the speed TOO slow. You need to get a feel for the rhythm of the individual characters and a very slow speed can hinder this process.

Experiment with word and character spacing, Morse code sent at moderate speed, with long gaps between characters is good to get you started. You can then reduce the spacing as you get more proficient.

Familiarise yourself  with a few letters first, then add new characters in small groups of 4 or 5 at a time. Use the Custom Filter to select a small group of characters.

NuMorse has the ability to record your keystrokes along with its own output in logfiles which can subsequently be viewed or printed out, you may find these useful.

Once you have learned most of the characters then it is possible to concentrate on the ones you are finding difficult. NuMorse has a feature which allows incorrect characters to be output more frequently in subsequent practice sessions. See the section on Custom Filters for more details.

Once you are fluent in Morse Code then use the Increase Speed and Adapt Speed features to get up to speed.


Open source file

The Open source file command displays a File Open dialog box.

In this dialog box, you select the file you want to use when playing Morse code from a file. The option to play Morse from a file is chosen in the Source Settings menu option. NuMorse is not too fussy about the type of source file selected.

Most word processors and text editors should produce suitable files. The built in log file editor is ideal as it produces a minimum of extraneous control characters.

NuMorse will respond to certain embedded control codes which can easily be added using any text editor.


Clear source file

If a source file is open then after confirmation the name will be removed and the file closed; the file itself is not affected. Source files are never written to or altered by NuMorse (unless you edit them using the built in log file editor) and they do not need to be explicitly closed.

Before exit from NuMorse all open files are automatically closed.

For further details on source files see the Source Settings topic.


Open settings file

When NuMorse starts up it obtains its default program settings from a file in the \WINDOWS directory called NUMORSE.INI. You may load alternative program settings using this menu option. The settings will have been saved from previous program runs using the Save settings file menu option.

The Open settings file command displays a File Open dialog box. In this box you select which group of settings you wish to reload from file.

All of the Settings menu options are stored. If a code source file was open when the settings were saved then this file will be reopened.


Save settings file

The Save command saves the settings in the current Settings Menu to disk.

If the file has no name then NuMorse opens the File Save As dialog box so you can rename the file and save it in a different directory or on a different drive.

If you use an existing file name to name the file, NuMorse asks if you want to overwrite the existing file


Save settings file as

The Save as command saves the settings in the current Settings Menu to disk.

NuMorse opens the File Save As dialog box so you can rename the file and save it in a different directory or on a different drive.

If you use an existing file name to name the file, NuMorse asks if you want to overwrite the existing file.


Play continuously
Morse code play

This dialog box displays the character currently being sent as Morse code, as well as the last few characters sent. When NuMorse is displaying this dialog box it is in Play Mode. A visual interpretation of the code itself is also shown, which may help speed up the learning process. The on-screen keyboard display is used mainly in the Drill dialog; in the play dialog box; the keys corresponding to the current Morse code character will be seen to press. All characters played as well as any key presses are recorded by NuMorse in a logfile. This means that you can practice reading Morse code in a situation similar to a real life, without any pauses or distractions from the program. When you have finished you may open both log files and compare what NuMorse sent with your own guesses. If you wish to remove all clues as to the character being sent by NuMorse then a set of options, play settings, is available which allow you to remove any visual indication about the character being sent.


Morse code drill

This dialog box appears exactly the same as the Play dialog box , the difference is that the character being played is not displayed, you have to guess it and enter it. To input your guess:

1.	Enter the character by pressing the corresponding key on your keyboard

2.	Use a mouse to point at the on-screen keyboard, then click.

If you guess correctly then the character is displayed and the next character is sent. If your guess is wrong then the response from NuMorse depends on the Drill Settings options. A typical response might be to allow one or more incorrect guesses before moving onto the next character, with an audible and visual indication that each guess was wrong. NuMorse gathers Statistics on your progress while in Drill mode. The statistics that were gathered can be used to set up the custom filter to emphasise those difficult to learn characters in future sessions.

The group of 3 keys shown separated from the keyboard are for some of the characters that are normally accessed as a shift-key combination. They have been arranged like this to allow mouse selection without the use of the keyboard shift key.

As in the Code Play dialog all characters played as well as any key presses are recorded by NuMorse in a logfile.


Display statistics

Statistics are gathered whenever NuMorse is sending Morse code in the Play or Drill dialog box; they are reset every time one of these boxes is re-opened.  Items such as response  time are only appropriate when the drill dialog box has been active, otherwise they will be set to zero. Other items such as session time will be valid for both Play and Drill sessions. The only active control in the statistics dialog box is a list box containing statistics for each character sent in the session. Scroll the list box using the scroll bar or use the cursor control keys.

The session time shown is for the LAST code session before the Play or Drill dialog box is closed. So if you do repeated code stops and starts while in these dialog boxes then only the last of the series will appear in the Statistics dialog box.

The statistics for the most recent session can be fed into the custom filter to allow the user to concentrate on the characters that have been incorrectly guessed.


Source for code
Select source for code

This dialog box is where you chose how the Morse code characters are generated, click on the required button to select the source. then click on OK. Open the Play or Drill dialogs to actually hear the Morse code.

Here are the available options:

Source Random stream.

Source Random Groups.

Source File serial.

Source File random.

Source Keyboard.

Whichever option you choose the Morse code output will be subject to the effect of a built in character filter mechanism.


Source Settings, Random Stream
Source Random stream.

Characters are randomly generated in a continuous stream. Actually, the stream is the same pseudo random sequence starting from the same seed number each time the Morse play dialog is activated. If you would prefer a more random sequence then read  the  section on NUMORSE.INI.

If the custom filter box has been checked in the Filters dialog then the random number  generator operates somewhat differently. It will emphasise those characters with the greatest filter values.


Source Settings, Random Groups
Source Random Groups.

This is the same as Random stream, except that a pause is inserted every five characters. The pause is shown as a space in the character History Box in the Morse Play dialog.


Source Settings, File Serial
Source File serial.

This causes NuMorse to read characters from a text Source File, if opened. The characters are read in sequence starting at the front of the file. When the file end is reached you are given the option to start again or finish Morse code output. If you break off in the middle of the file and then resume an option in the Preferences dialog determines whether transmission resumes from this break or starts again at the beginning of the file. The action taken at end of file depends in an entry in NUMORSE.INI


Source Settings, File Random
Source File random.

This causes NuMorse to read characters from a text Source File, if opened. NuMorse searches the file at random for whole words, that is strings of characters separated by spaces (and any other control codes). Each complete word is sent as Morse code.


Source Settings, Keyboard
Source Keyboard.

This option allows you to send Morse code by typing in the required characters from the keyboard in real time, use the space bar for inter-word spacing. The CCITT recommendations are used for certain prosigns which are not represented on a standard PC keyboard. It is fairly easy to type faster than Morse code can be transmitted, and so a fairly large (100 characters) type ahead buffer is provided. See the Play Morse dialog for further details on keyboard input.


Code filters
Select code character filter

This dialog box is where you select what characters are output as Morse code. This feature is useful for those learning the code who wish to practice with a subset of the available characters. Think of this feature as filtering out undesired characters, only the characters selected will be output. Bear in mind that the character filter operates on characters from any source. If you are entering characters from the keyboard and some of the keys do not seem to function then check what characters are being filtered. If the character source is a file it is possible to set up  NuMorse to filter ALL of the file characters out before they get converted to Morse code; it can appear as if nothing is happening. In this situation NuMorse will eventually time out with an error message.

NuMorse will not allow exit from this dialog box if you try to filter out all characters!

Here are the available character filter options:

Letters

Numbers

Punctuation

Prosigns

Custom

Except for the Custom option you can combine the above to provide various mixtures of character types.

There are 5 buttons in this dialog box that control the contents of the custom filter edit control:

Preset Custom button is used to preload a group of characters into the custom filter.

Invert Custom button alters all of the custom filter values.

Code Sent button uses statistics on code sent during the last drill or play session to set up the custom filter.

Responses button uses statistics on user responses gathered from the last drill session.

 Standard Filter preloads a group of characters into the custom filter. This group represents the relative frequencies of letters in English text.

When any of these 5 buttons are pressed the custom filter check box is also set.


Timing parameters
Choose code timing parameters

In this dialog box you set the timing of the various elements of the Morse code generated by NuMorse.  To adjust a timing scroll bar click and drag on the slider, or click on the small arrow symbols at the scroll bar ends.

The WPM display is based on dot length and assumes standard spacing. Other spacings will give inaccurate results, but may be useful in the early stages of learning the code.

Element lengths are displayed in milliseconds. With the speed calibration factor set at 100% a dot length of 80 units corresponds to a speed of about 15 W.P.M. on the Authors system when continuously sending the word PARIS at standard Morse code spacing.

Here are the parameters that you can alter:

Dot length

Frequency

Dash Length

Character spacing

Word spacing

Two buttons are provided for automatically setting up the timing parameters, this is  how they work:

 sets standard spacing based on a dot length of 80 milliseconds.

 sets standard spacing based on currently displayed dot length.

The radio buttons affect Morse code output in the following way:

Constant speed means just that, code speed will not vary through a practice session; unless the code source is a serial file and contains certain embedded control characters of the type that NuMorse recognises.

Increase speed means that at certain intervals, determined by an entry in NUMORSE.INI, the speed will increase by a small amount up to the maximum. This will occur in Play and Drill modes.

Adapt speed works differently, it is based on number of characters output instead of a set time period. In Play Mode the speed will increase by a small amount after outputting a number of characters as determined by an entry in NUMORSE.INI. In drill mode the speed will adjust itself depending on how well the user guesses the characters. Bad guesses will slow down the code, good guesses will cause it to speed up.


Drill settings
Select drill settings

This group of options affects how NuMorse functions when in Drill mode. Here are the options:

Tries allowed

Response time

Session time

Visual warning

Audible warning

Show correct character


Preferences dialog

The options in this dialog are ones that dont seem to fit into any other specific category, if NuMorse continues to evolve then this dialog box may start to fill up as users ask for extra features! Here are the current options:

Reset source file

Display prosigns

Send review header

Response review header

If an option does not appear here then check the section on NUMORSE.INI the option may be one that must be set by direct editing of this file.


Reset Source File

This affects the behaviour of NuMorse when the Play or Drill dialog box is cancelled during reading of a text file.When the dialog box is reopened the file will start from the beginning if this box is checked, otherwise the file read will continue from where it was interrupted. There is an entry in NUMORSE.INI which determines the action to be taken when end of file is encountered.


Display Prosigns

NuMorse can substitute certain prosign characters for ASCII characters according to the CCITT recommendations. This option switches the feature on or off.


Load default settings

After confirmation all of the settings menu options will be restored to their default state. This is done by loading a set of default values from the file NUMORSE.INI which will have been automatically set up in your \WINDOWS directory. With care you can alter these default values, before you do this read the Section on NUMORSE.INI


Timing calibration
Calibrate code timing

This dialog box contains two scroll bars and a small edit box. The setting of the WPM control affects the WPM readout in the Timing dialog box, it does not affect actual code speed. At the default setting of 100% a speed of 15 WPM corresponds to a dot length of 80 milliseconds. This was arrived at by a little trial and error using the standard Morse sequence PARIS. Other methods of checking code speed in WPM will give slightly different results; for example the Morse sequence CODEX might be more appropriate under certain circumstances. Feel free to alter the WPM calibration setting as required.

The default button in the Timing dialog always sets the dot length display to 80 milliseconds: this will not correspond to 15 WPM if  the WPM calibration setting is not 100%. This can be put to use if you need to use units other than W.P.M. For example some European countries use letters per minute which is 5 times the W.P.M. value, the correct WPM calibration factor in this case would be 20. If you need to use speed units other than W.P.M. you can also alter the displayed text from W.P.M. to any other text, up to a maximum of 6 characters using the edit box in this dialog.

The other scroll bar affects actual code speed for a given dot length. Thus for a displayed dot length of 80 milliseconds the actual code speed can be somewhat more or less than 80 ms. depending on the setting of this scroll bar.

Do not overlook the use of the windows clock. When doing calibration checks it is handy to have a continuous display of time on screen. Look for a code source file called PARIS.TXT among the sample files provided. This file is provided to help you check NuMorse code speed on your system.


Maximize Icon

For information on this topic get to the Windows Help window and click the Glossary button on the toolbar.


Minimize Icon

For information on this topic get to the Windows Help window and click the Glossary button on the toolbar.


Sizing Border

For information on this topic get to the Windows Help window and click the Glossary button on the toolbar.


System Menu

For information on this topic get to the Windows Help window and click the Glossary button on the toolbar.


Title Bar

For information on this topic get to the Windows Help window and click the Glossary button on the toolbar.


The Index contains a list of Help topics available in the NuMorse Help System. For information on how to use Help press F1 or choose Using Help from the Help menu. You can get back to the Index from any point in the help system by clicking on the Toolbar Contents key.


The Windows Help system gives general information about using Microsoft™ Windows and can be accessed by pressing the F1 key while the NuMorse Help Window is active.


File Open dialog box

The File Open dialog box is where you open a file by typing the file name in the input box or using the directories list box or file name list box to find and open the file.


The File Name input box is where you enter the name of the file , or the file-name mask to use as a filter for the Files list box.


The Files list box lists the names of files in the current directory that match the file-name mask in the File Name input box, plus the parent directory and all sub directories.


You view the contents of different directories by selecting a directory name in the Directories list box.


Control characters are used by many word processors to control the layout and appearance of text. They are usually not displayed on screen, but will be present in document files. Within reason, NuMorse will try to ignore such characters.


Printer port pinout
Printer port pinouts.

Here are the data pinout details for a Centronics parallel printer port, this view is looking into the rear of the PC.

Pin	Signal

2	Bit 0

3	Bit 1

4	Bit 2

5	Bit 3

6	Bit 4

7	Bit 5

8	Bit 6

9	Bit 7

33	GND


File Save As dialog box

The File Save As dialog box is where you type in the new name in the file name input box (you can include a drive and directory path) or use the directories list box to select a new path.

If you choose an existing file name, NuMorse asks if you want to overwrite the existing file.


CCITT

The CCITT have made certain recommendations regarding conversion of ASCII codes to Morse and other codes. NuMorse provides limited support for some of the most commonly used prosigns :

Prosign	Substitute	Meaning

AR	+	End message

SK	*	End of work

BT	=	Double dash

DN	/	Fraction bar

NuMorse optionally displays the dual letter combination or the ASCII substitute when outputting Morse code, select the option in the preferences dialog box.


Prosigns (Procedure Signals) are signals used in Morse Code to indicate such phrases as start of transmission, here is and so on. The FCC code tests require knowledge of:

AR,SK,BT,DN


Type-ahead is a feature that allows typed characters to be stored until the system can deal with them, it can be thought of as a queue in which the typed characters are held in the exact sequence in which they were typed.


A character History box contains a list of the most recent 15 or so characters output by NuMorse. As new characters are added the oldest ones are discarded.


Filter letters

This option removes all characters except for the letters A to Z, and a to z, The lower case letters are the same as upper case in Morse code; ASCII lower case letters are accepted and then converted to upper case before code translation occurs.


Filter numbers

All of the characters except 0 to 9 are discarded by this filter.


Filter punctuation

This option allows the following punctuation symbols to be translated to Morse code:

.          ,          ?          -          :          ;          [          ]          {          }          (          )          "          $          _

The various brace characters are translated to ( and ).


Filter Prosigns

The following ASCII codes are allowed if this feature is active:

*      +      =     /

If the display prosigns option in the Preferences dialog box is active then these characters will be displayed as character pair combinations according to CCITT recommendations, otherwise they will be displayed as above.


Filter Custom

This option allows you to use a filter designed by you to vary the content of code output by NuMorse, and is an alternative to the preset filters available in the Filters dialog box. The custom filter can contain as few or as many characters as you wish. To edit the filter select a character entry in the custom filter control, then drag the thumbwheel on the filter adjust control to the required setting. Filter values can be any multiple of 5 between 0 and 100. For other ways of setting filter values see the Filters dialog topic.

If code is being read from an external file with the custom filter active then the filter acts like an on-off switch. If a particular character has a filter setting above zero then that character will always be allowed, otherwise it will never be allowed.

When characters are being produced by the random number generator the relative filter values will determine how often each character  occurs. For example if the letter A is set to 100 and the letter S is set to 50 then over a sufficiently long session A will be output about twice as many times as E.

By default the custom filter and standard filter is set to produce characters at about the same relative frequencies as standard English text. Here is a list of the relative letter frequencies in a piece of English text containing about 40000 words, the values are relative to letter E the most frequently occurring letter:

A	64

B	16

C	36

D	34

E	100

F	11

G	24

H	18

I	71

J	1

K	7

L	45

M	23

N	60

O	51

P	25

Q	1

R	61

S	68

T	59

U	29

V	9

W	7

X	2

Y	14

Z	1

This list was used to provide the default custom filter and standard filter values used by NuMorse and is present in coded form in NUMORSE.INI. I decided to set all the characters not on the list to a value of 5; this means that numbers and punctuation will occasionally be transmitted.

The custom filter settings will be saved to disk when you save the program settings. Selecting the filter custom option will automatically deselect any other filter options. The standard filter is not written to by NuMorse, treat it as a default filter to reload in at any time. It can be edited directly if you wish.


Filter Preset

This button causes the current preset filter options to be loaded into the custom filter edit control. If the Filter custom option is active when the preset button is pressed then the custom edit control is cleared. The characters loaded are the groups checked just before the button is pressed. So to preset the filter for numbers, for example, check the numbers button first then press the preset button.

This feature can save typing effort. For example, to specify a group of 15 alphabetic characters:

1.	Select Filter letters, unselect any other filter preset options.

2.	Click the preset button to load the entire alphabet into the custom edit control, they will all be set to 100.

3.	Edit the letters not required to a value of 0


Standard custom filter
Load Standard Custom Filter

This button causes the standard custom filter settings to be loaded into the custom filter edit control. These settings correspond to the relative character frequencies for English text.


Filter Custom Edit
Filter custom edit control

Select the characters that are to be output as Morse Code and use the custom filter adjust control to set to the required value by dragging on the thumbwheel. Another way of getting text into this control is by using the Filter preset or From Disk buttons.


Here is the default code spacing used by NuMorse

Pause between elements	1

Pause between words	7

Pause between characters	3

Dot length	1

Dash length	3


Drill Tries Allowed

This parameter determines the programs response to an incorrect input. You can adjust the scroll bar to allow no second attempts. If no second attempts are allowed then you will given a warning that you entered an  incorrect response and then the next character will be  displayed.

At the other extreme of the scroll bar any number of attempts are allowed, you will still be warned if an incorrect input is detected, but the same character will then be repeated until you get it right.

At intermediate settings a certain number of guesses are allowed before proceeding to the next character.


Drill Response Time

At the default setting of <Any> there is no time limit when attempting to guess the Morse code character. Other settings cause NuMorse to wait for a certain interval, if no character is entered by the end of the interval it is treated as incorrect input. What happens next depends on the other settings in the Drill Settings dialog box.


Drill Session time

If this scroll bar is set to maximum then drill sessions will continue until the dialog box is cancelled. Setting the scroll bar to any other position allows you to practise against the clock. After the specified time interval a special audible signal will indicate end of session, and a message will appear. Clicking on the message OK box will then take you back to the main menu. Consult the statistics dialog box to see how you did.

This feature combined with the other drill setting options gives a very large range of possible test situations. For technical reasons (connected with the audible and visual warnings) the session time shown in the statistics box after the drill session may be a second or two longer than the original time specified.

If you click the Stop button during a timed Session then restarting by clicking on the Play button  will have the effect of restarting the session timing clock from zero.


Drill Visual Warning

By default this option is checked. When a wrong character is input a symbol is shown which resembles those crosses your primary grade teacher scribbled across your first attempts at math!


Drill Audible Warning

If this option is checked then NuMorse responds to wrong input by outputting a Hu-Hu sound instead of the next Morse code character.


Drill show correct character

If the wrong guess is made for a character one of NuMorses responses is to briefly show the correct character. This option turns the feature off.


Timing Dot Length

The dot length controls the fundamental speed of the Morse code generated by NuMorse. To set up code at the required speed, with standard spacing, adjust the dot length scroll bar until the WPM display reads the correct code speed. Then press the Setup button; this has the effect of adjusting all of the other Timing scroll bars to give code at the displayed speed with correct character and word spacing.


Timing Frequency

This scroll bar allows you to adjust the pitch of the generated tone. This tone is generated using standard Windows 3.0 sound generation procedures if the PC speaker option is selected in the device select dialog box. The new Windows 3.1 MCI calls are supported by selecting Soundboard as the output device, however the method of selecting the frequency remains the same.


Timing Dash Length

You may wish to set the dash length longer than standard spacing in the early stages of learning Morse code to make the characters easier to decode.


Timing Character Spacing

This option allows you to set the character spacing to a value greater than the default of 3 dot lengths. This can be useful when you are trying to increase your code speed. Set dot and dash length to the higher speed, but increase character spacing to longer than 3 dots in duration until you are comfortable with the new speed.


Timing Word Spacing

You might like to increase word spacing above the default of 7 dot lengths for the same reasons as increasing character spacing.


MCI calls.

This is a feature introduced in Microsoft™ Windows 3.1 which allows control of multimedia files and hardware devices, including sound generation hardware. MCI calls are supported in this version of NuMorse.


Play Settings dialog
Play Settings

This dialog box controls the appearance of the Play Dialog during Morse code play sessions. There are 4 checkboxes:

1.	Show current character. The current character is the large one that appears as each piece of code is sent.

2.	Show Morse character. The Morse character is the code displayed in visual form when the code is sent aurally.

3.	Display keypress. When playing you will notice that the simulated keyboard keys press as the code is output. This checkbox can be used to disable the keypresses.

4.	Display sent characters. These characters are the ones that are displayed as a horizontal list.

You might decide to turn some or all of these feature off to avoid getting visual clues when trying to decode Morse using Play Mode.


Speed menu option
Speed

This dialog box has been added to allow simple changes to code speed as an alternative to the method using dot length in the Timing Dialog box. Using this speed control will have the extra side effect of restoring code to standard spacing if the spacing has been adjusted.


Save as in File Window
Save File As

This allows you to save a file in a file edit window using an alternative filename to RESPONSE.TXT or SENT.TXT. You will need to do this to avoid losing information when the Drill or Play dialog boxes are re-opened since this action causes these files to be erased and restarted.


Open file in File Window
Open File

This allows you to open a file other than RESPONSE.TXT or SENT.TXT and enhances the usefulness of the file edit windows by allowing viewing and editing of any text file.


NUMORSE.INI file
NUMORSE.INI

NUMORSE.INI is an ASCII file in \WINDOWS that defines certain NuMorse default values. There is a number of important program parameters in NuMorse that can only be altered by editing this file. The reason for this is that I have received so many suggestions regarding options and preferences that to control them all from within the program would have resulted in a confusing array of dialog boxes each with many buttons and checkboxes. My solution was to put some of the more obscure parameters into NUMORSE.INI where they can be altered by direct editing of the file. No doubt some users will disagree with my decisions about which items should be controlled directly from NuMorse!

If a control exists within NuMorse for a particular program setting then there is no need to edit NUMORSE.INI at all. On program exit there is an option to automatically save such settings to NUMORSE.INI.

If you edit NUMORSE.INI then make sure that the text editor used is a pure ASCII text editor.such as the review file editor that is part of NuMorse.

Here is list of NUMORSE.INI file contents as copied directly from the file:

[Morse]

SourceFlags=16

FilterFlags=1

Dot=80

Freq=1000

Pause=240

WordPause=560

Dash=240

Retries=1

TimeOut=9

DrillFlags=15

PlaySettings=15

ReviewFiles=20

Restart=0

PreferencesFlags=19

DisplayCalibration=100

SessionTime=610

SourceFileName=

SettingsFileName=

Seed=20

SpeedUnits=WPM

CustomFilter=BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBMDHHUCFEOBCJFMKFBMOMGCCBDBBBBBB

StandardFilter=BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBMDHHUCFEOBCJFMKFBMOMGCCBDBBBBBB

SpeedModeFlags=4

DeltaTime=20

DeltaChars=20

Port=888

ToneOn=255

ToneOff=0

SpeedCalibration=100

SelectDevice=4

Volume=50

Attack=200

Decay=100

Waveform=0

If you need to restore your NUMORSE.INI file to the above settings then here is a simple way to do it:

1	Bring up this help screen.

2	Use Help Copy to copy the above list to the Windows clipboard.

3	Close help and select a review file editor from the NuMorse File menu.

4	When the Review Edit window is displayed select File New to clear the existing file.

5	Use Paste to send the clipboard contents to the Review edit window. You should see the above list and now is the time to make any changes if required.

6	Now use File Save As to replace your own NUMORSE.INI file. You will need to specify the file as \WINDOWS\NUMORSE.INI

As an alternative to the above you could copy and paste selected parts of the above list to your own NUMORSE.INI file.

Here is a line by line explanation of the file

SourceFlags. This line controls the default source for generated code. Valid values are 1,2,4,8,16. You should not need to edit this line, the default source can be set from within NuMorse and source settings can also be saved and loaded.

FilterFlags. Controls the default filter checkbox settings. Valid values are 1 to 31 which can be set from within NuMorse so there should be no need to directly edit this line. If you wish to work out the correct value then add together the following for each of the checkboxes to be checked. custom=1,prosigns=2,punctuation=4,numbers=8,letters=16

Dot. Default Morse Code dot length, normally 80, settable from within NuMorse

Freq. Default Frequency, normally 1000Hz, settable from NuMorse

Pause. Default character pause length, normally 240, settable from NuMorse

WordPause. Default word pause, normally 560 units, settable from within NuMorse

Dash. Default dash length, normally 240 units, settable from within NuMorse

Retries. Used in drill settings. Normally 1, meaning no retries, settable from NuMorse

TimeOut. A drill settings option. If set to 9 seconds or greater there is no TimeOut.

DrillFlags. Controls the default  drill settings checkboxes. Valid values are 1 to 15 which can be set from within NuMorse so there should be no need to directly edit this line. If you wish to work out the correct value then add together the following for each of the checkboxes to be checked. Show correct character=1,Audible warnings=2, visible warnings=4 Display Morse character =8

PlaySettings. Controls the default Play settings  checkboxes. Valid values are 1 to 15 which can be set from within NuMorse so there should be no need to directly edit this line. If you wish to work out the correct value then add together the following for each of the checkboxes to be checked. Show current character 8 Show Morse character 2 Display keypress 1 Display sent characters 4

ReviewFiles. This value is normally 20. It specifies the maximum size, in Kbytes, of a review file. If this maximum size is exceeded then NuMorse will display a warning before closing the Drill or Play dialog box. This is needed because if NuMorse were left running in Play Mode for several hours the Send Review file would become very large. There is no control within NuMorse to alter this setting, it must be edited directly.

Restart. Acceptable values in this optional line are 0 or 1. If the line exists and is set to 1 then the review file warning will not be displayed, instead it will be deleted and restarted. There is no control within NuMorse to alter this setting, it must be edited directly.

PreferencesFlags. Controls the default  drill settings checkboxes. Valid values are 1 to 31 which can be set from within NuMorse so there should be no need to directly edit this line. If you wish to work out the correct value then add together the following for each of the checkboxes to be checked. Display prosigns=1, Reset source file=2, Send Review File header=4,Response ReviewFile Header=8 Save to Init=16 (in exit dialog.).

Display Calibration. Speed calibration factor, although normally set to 100 it can be adjusted over a wide range, settable from NuMorse.

SessionTime. Drill settings default session time out value. If set to 610 seconds then no time limit is imposed, settable from NuMorse.

SourceFileName. Specify a default source file here if required, settable from NuMorse. This line is optional

SettingsFileName. Specify a default settings file here if required, this line is settable from NuMorse and is optional. Normally this line can be omitted or left blank.

Seed. Random generator seed. If this is set to a none zero value then the random number generator will output the same stream of numbers each time it starts. Set to 0 if a more random character stream is required that produces a different series of numbers each time it is started. This line MUST be present in NUMORSE.INI and must be directly edited if you need to alter it. The value 255 is reserved do not use.

SpeedUnits. This line is editable from the calibrate timing dialog. It specifies the text following the various speed displays in NuMorse. Normally it is set to the string W.P.M., but can be altered to any other string up to a maximum of 6 characters.

CustomFilter. This line represents the default values in the custom filter, and is settable from within NuMorse via the Custom filter control in the Filters dialog box. If you edit it directly then make sure that the resulting line contains exactly the correct number of characters. The first character represents <!> ASCII code 33 decimal while the last character in the line represents <_> the underscore character which has ASCII code 95 decimal. The letters <A> to <U> represent filter values from 0 to 100 in steps of 5. If you need to restore the original custom filter settings then cut and paste from this help file as explained above.

StandardFilter. This line contains custom filter settings which represent the frequency of characters in English text, a control in the Filters dialog loads the values from this line into the custom filter. It is a quick and easy way of setting the custom filter so that NuMorse outputs characters at the same relative frequency as English text. This line is not editable from within the program so if you decide to edit it for languages other than English then please note the comments as for the CustomFilter line.

SpeedModeFlags. Controls the default checkbox settings in the Timing dialog box. Valid values are 1,2 and 4 which can be set from within NuMorse so there should be no need to directly edit this line.

DeltaTime. This line can be edited from within the Timing dialog box. It controls how fast the code speeds up during Play and Drill sessions when the Increase speed radio button in the  Timing Dialog box is checked. If set to 20 then the speed will increase every 20 seconds.

DeltaChars. This line can be edited from within the Timing dialog box. It determines the responsiveness of NuMorse to user errors when in Drill mode and the Adapt speed radio button in the  Timing Dialog box is checked. If set to 10 then the speed will increase/decrease with every 10 correct/incorrect guesses when in Drill mode. If in Play Mode the speed will increase for every 10 characters sent.

Port. This line and the two following does not need to be edited since appropriate edit controls exist within NuMorse. This line is where the hardware port address is stored, the value is in decimal. For more information consult the hardware help topic.

ToneOn. This line is a decimal representation of the bit state of the selected port during code tone on periods. For more information consult the hardware help topic.

ToneOff. This line is a decimal representation of the bit state of the selected port during quiescent or silent periods. For more information consult the hardware help topic.

SpeedCalibration This line affects the speed for a given displayed dot duration, it is normally set to 100. This line is alterable from the Calibration dialog box.

SelectDevice. This is where the currently selected output device is stored. Permitted values are 1 2 and 4 representing PC Speaker, Hardware Port and Sound Board. This value is adjustable from the Select Device dialog box.

Volume If a sound board (or sound board emulation) is fitted then this value is the output volume level as set in the Sound Board options dialog.

Attack. If a sound board is fitted then this line determines the shape of the leading edge of the tone envelope. A value of 100 indicates a square envelope. This is settable from the Sound Board options dialog.

Decay. If a sound board is fitted then this line determines the shape of the trailing edge of the tone envelope. A value of 100 indicates a square envelope. This is settable from the Sound Board options dialog.

Waveform. If a sound board is fitted then this line determines the shape of the tone waveform. A value of 1 indicates a sine wave, while 0 gives a square wave. This is settable from the Sound Board options dialog.


An ASCII text editor embeds no hidden control characters in the text file. Windows Notepad is an example. The file edit windows supported by NuMorse are also suitable ASCII text editors.


Adaptive speed
Adaptive Speed changes

NuMorse is capable of automatically altering code speed during a play or drill session. There are 3 ways in which this can be achieved.

1.	Using embedded control codes when the code source is an external file.

2.	Checking the Adapt speed checkbox in the Timing dialog box. The effect of Adaptive speed in Play Mode is to speed up the code every few characters sent, this is different from Increase speed mode when the speed increase occurs after specific time intervals. In Drill sessions NuMorse will continuously adjust the code speed depending on the users performance. An entry in NUMORSE.INI called DeltaChars determines how sensitive NuMorse is to errors when adapting code speed. A series of correct guesses will cause the speed to increase a little, while a few bad guesses will cause the code speed to decrease. At the end of a session the new speed will be retained by the system and can be saved as a program setting for future use.

3.	Checking the Increase speed checkbox in the Timing dialog box causes the speed in both drill and Play Modes to increase regardless of user input, the rate of increase is determined by an entry in NUMORSE.INI called DeltaTime. The final speed will be retained by the system and can be saved as a program setting for future use.


Log Files

NuMorse always stores its output as well as any user responses. Output is sent to a file called SENT.TXT and user keyboard responses are sent to a file called RESPONSE.TXT. Two file edit windows are provided for viewing and editing these files.

New log files are started whenever the Play or Drill dialog windows are opened, so you need to make sure that any information to be saved for future use is saved as a different filename before opening the Drill or Play dialog boxes. The file edit windows provide a File Save as function for this purpose.

A small file header is always sent to each log file at the start of a Play or Drill session giving the time and date of the session There is an option to send additional header information on selected program settings to SENT.TXT or RESPONSE.TXT, this option is switchable from the Preferences dialog box.

In Play Mode the program sends code without pausing to check user responses, however any responses are sent to RESPONSE.TXT.

Each file edit window opens with the SENT.TXT and RESPONSE.TXT files opened. This allows you to open both windows, and size or move them so that your responses can be compared with NuMorse output.

The file editors are quite respectable editors in their own right and their usefulness has even surprised the author, although they start up with SENT.TXT and RESPONSE.TXT these files can be closed and any other files opened for viewing and editing. The editors contain all of the usual windows style text editing and file manipulation features, as well as the ability to print and cut and paste to other applications and NuMorses own help system. Here are a few ideas and suggestions:

Cut and paste from one file window to the other to put code sent and response information into the same file, then save this file under a new file name.

Copy parts of the file, via windows clipboard, to a word processor.

Copy text from the help system into a text file.

Type in code source files and save them for future use.


Random Number Generators
The random number generators

There are several random number generators used in NuMorse.

1	Uniform pseudo random1, Numbers within the range 32 to 95 are generated which are then filtered and converted to characters. The numbers are uniformly distributed, this means that any number in the specified range has the same chance of being generated as any other number. This generator is used by the Random stream and Random groups features when the custom filter is NOT active.

2	Uniform pseudo random2. Numbers within the range 1 to filesize(code source file) are generated which are then converted to file positions and adjusted to read in whole words from a code source file. This generator is used by the File random feature regardless of the custom filter setting.

3	Weighted pseudo random. Numbers within the range 32 to 95 are generated which are then converted to characters. The numbers are weighted so that certain characters will appear more often than others, the weighting depends on the custom filter values. This generator is used by the Random stream and Random groups features when the custom filter is active. When reading characters from an external file the weighting acts more like a switch, none zero filter values allow the character to be output by NuMorse.

A pseudo random generator is based on a mathematical trick which allows a sequence of numbers to be generated given a starting number called a SEED. In the case of NuMorse the seed number is stored in NUMORSE.INI and can be edited. The sequence is not truly random since, for a given seed, the same sequence will be generated each time. If you change the seed number to 0 then the generator will behave more like a true random number generator, because a different  seed number will be obtained by the program each time the generator starts. For your information the seed number is obtained from a memory location associated with the system timer which is constantly changing.

Weighting of random numbers is achieved by a technique called cumulative probability distribution sampling. An analogy is a group of targets some of which are bigger than others. Throwing a ball at random causes the bigger targets to be hit more than the others, thus achieving weighting.


Sending code to a hardware port
Sending code to a port

If you wish to attach a code practice oscillator to your PC then you will need to define a hardware port address and also what electrical conditions are to appear on the port when code is sent. This dialog box is where you do this.

A representation of the logical levels of bits 0-7 of the selected port is shown together with the corresponding value (in decimal) that NuMorse will send to the port during tone on and tone off periods. You may adjust the values by editing the decimal value or you may toggle the logical levels by clicking on the bit map. Be aware that the bit map shown refers to logical bit numbers NOT physical pinout numbers, which will almost certainly be different.

It must be pointed out that an application which directly accesses PC hardware breaks all the rules of Windows programming, but it seems to work OK in this case! To use the feature you will need to identify, from your system hardware documentation, which are valid ports. Most systems will have the printer data port at 888 decimal available and so you could set the Port address value to 888 to use this. Using the printer output to drive an oscillator means that printed output from the program (the log file windows) will not be available unless you add a printer switch box to the system.

A figure of 255 for ToneOn would cause all the port bits to be set to HIGH during the time that a dot or dash were being sent. A figure of 0 for ToneOff in would set all the port bits to LOW during spaces. Setting ToneOff to 254 would result in the port bits all staying HIGH except for bit 0. The permanently HIGH bits could, with care, be used to power an external device such as a code practice oscillator. Check your documentation for maximum current drain allowed from your PC printer port, exceeding this value could result in damage to your machine.

The only port tested by the Author is the printer data port, although there is no reason why any port that physically appears to the outside world cannot be used. There is no software checking on port addressing or validity so make sure you know what you are doing before attempting to set up NuMorse to send code to a port. Here is the tone oscillator circuit that was used for testing on the authors system:


Code source, control codes
Control codes in code source text

NuMorse recognises <linefeed> <@> in a code source file as a control sequence and interprets the following text as a command instead of characters to be output as code:

In practice the above sequence is a <@> character at the start of a new line (you dont type the < and the > symbols). Three commands are currently supported, heres how they work.

<@><NN>, where NN is a number between 10 and 80. This causes NuMorse code speed to alter to the new speed of NN W.P.M. (or whatever speed units you have set NuMorse to work with)

<@><string>, where string is a line of text. <string> will appear on screen as a message up to 80 characters in length. The user will have to click on an OK button to continue. This feature could be used to warn the user of a coded speed change.

<@><space>, this command causes the rest of the line to be ignored.

In the above cases any further text on the same line will be ignored.

This feature will only work when code is being read from an external file that is being scanned in a serial manner. It will not work with files being scanned in random mode.

A demonstration file called EMBEDDED.TXT should be present in your NuMorse directory.


Code sent button

This button causes some of the statistics gathered during the most recent Play or Drill session to loaded into the Custom Array. The values will be adjusted so that the maximum is 100, and all the other values will be relative to this and rounded to the nearest multiple of 5. The statistics used are the numbers of each character sent by NuMorse.


Responses button

This button causes some of the statistics gathered during the most recent Drill session to loaded into the Custom Array. The values will be adjusted so that the maximum is 100, and

all the other values will be relative to this and rounded to the nearest multiple of 5. The statistics used are the numbers of each incorrect response made by the user. This feature is particularly useful for people wishing to improve their performance on less well learned code characters, since NuMorse will tend to use more of these after this procedure. Remember that the custom filter contents can be saved and used in future sessions.


Invert custom filter button

This button affects all of the custom filter values. It subtracts each value from 100, this means that the lower filter values will become the higher ones and vice-versa.


NuMorse Main Window
The main window

This is the main window on which the various dialog boxes will appear when you select menu items. For an explanation of these items see the section on Menu Commands.


Program History

1992

First version upload. Program based on a single dialog box.

-------------------------------------------------------------------------------------------------------------------------

1992-1993

Development of menu based program using feedback&suggestions from users of first version.

Many features added and various beta versions uploaded during this period.

Final beta 0.95 upload 1 April 1993

-------------------------------------------------------------------------------------------------------------------------

Enhancements for version 1.0, upload Autumn 1993

A number of bugs squashed and features added. Main ones only are listed here.

Options to suppress various on screen items during play and drill modes.

Log files, for program output as well as user responses.

Integral log file editor allowing cut&past to Windows clipboard as well as printing and editing of files.

Variable weighting in custom filter

Custom filter weighting from

           user direct

           recent user responses

           recent program output

Auto increase speed during play and drill sessions

Adaptive speed: faster if no errors

                slow down when error

Sample code source files included

Added ability to optionally save to .INI file instead of settings file.

Added a speed control to main menu.

Improvement to random character generator, alpha were appearing

twice as often as other chars, due to a spurious lower to upper case conversion

Custom filter invert button in filters dialog

Feature to output code to a hardware port added

if hardware port active then PC speaker is off

Embedded control codes in source file, change speed and display messages from code source text

-------------------------------------------------------------------------------------------------------------------------

Enhancements for version 1.01, upload December 1993

From this version onwards Windows™ 3.1 is required.

Help file now in Win 3.1 format, and some Win 3.1 API calls are now used.

Some major timing problems when using an external code oscillator now fixed.

MORSEBTN.DLL is no longer required, users can remove it from their systems if it was installed for previous versions of NUMORSE.

Improvement to appearance of some screens in EGA modes.

Online registration begins

--------------------------------------------------------------------------------------------------------

Enhancements for version 1.20, upload February 1994

SoundBlaster™ support added, at last! With this comes a new dialog box containing a volume control as well as  envelope and waveform controls.

Several items previously only alterable by editing NUMORSE.INI can now be adjusted from within the program. These include:

-Port addressing and values, for driving an external code oscillator

-Parameters connected with automatic speed changes in certain modes.

Timing rationalised throughout program, dot length is now always displayed as milliseconds.

In previous versions a crash could be provoked by repeatedly pressing the PLAY button in the Play dialog box whilst code was being output. This and some other minor bugs fixed.

Registered users can obtain a software key which will suppress the registration fee request in the opening screen, from this version (1.20). Cosmetic changes have been made to the About box; if the program is not registered then this fact is emphasised.

A hint line added at the bottom of the screen.

The program will issue a warning and halt if run under Windows™ 3.0, Version 3.1 is required.

Code element length is now in milliseconds throughout program.

Prosigns are displayed correctly in various lists.


A word from the Author

 Hi, if you have got this far into the help system you are obviously interested in the program and would perhaps like to know a little more about me. I thought I would add this page about myself partly out of a sense of vanity and partly as a way of persuading you to part with some money.

I live in a village in Staffordshire, Central England about 2 hours drive from London. Apart from computing my other interests include running, SCUBA diving, gardening, chess and Mensa meetings. Amateur radio has been crowded out by these interests but I will get back to it one day.

I have been writing DOS based software on a part time basis for a few years. This program was started as a small project to help teach myself the basics of Windows programming, whether I have succeeded or not is up to you to judge

Compared to the products of Lotus™ and Microsoft™, NuMorse may seem rather trivial. But it represents a lot of man-hours blood sweat and tears on the part of one individual, rather than a small project by some programming team in a giant monolithic company.

So please express your appreciation for my efforts by Registering NuMorse.

I would like to thank the following:

The folk on Compuserve Borland™ Programming forum A. Without TeamB and the other gurus on BProgA the project might have foundered many times over.

My wife Shirley, for not taking an axe to the PC.

You people who took the trouble to E-mail me with comments and suggestions about earlier versions of the program. You might recognise some of your suggestions in the current version. Keep up the comments, but please support NuMorse by Registering .your copy.

Thanks, Tony Lacy,  G4AUD, CIS 100030,157


Registering NuMorse
To Register NuMorse

If you find this program useful then please register it.

You may freely distribute the NuMorse program and associated files, hereinafter called the

software, provided:

-No fee is charged for the software.

-The software is distributed in its entirety and is not modified.

-Commercial use is by prior agreement with the author.

Registration is just a few keystrokes away if you subscribe to Compuserve:

GO SWREG.

Locate the entry for NuMorse, the Registration ID is 1721.

When the registration details appear answer 'y' to register your copy of NuMorse

You may also register by sending a registration fee of $20.00 or equivalent with your name,

address and E-Mail ID (optional) to the address shown in the program About Box. Please

include the version number and information on where you obtained the program.

Registration of the current Shareware version of the software means that any later Shareware

versions you obtain will also be regarded as registered.

Here are some good reasons for registering NuMorse:

-I will provide help on program useage via Compuserve. Or by mail if you prefer this.

-I will be more likely to continue enhancing and developing NuMorse.

-A software key is available to registered users; this suppresses the registration fee request in the opening screen.


Select device

This is the dialog that allows you to select the device used for playing Morse Code. You can select any option even if the associated device is not present. If you attempt to send to a sound board and one is not fitted there will be no error message, the result will simply be...silence!

If you select the PC speaker then Morse Code is emitted from the small speaker usually fitted to PC's. NuMorse contains it's own built-in PC speaker driver and so a third party speaker driver should NOT be installed. If such a driver is fitted then NuMorse will not be able to send code directly to the PC speaker. If a speaker driver that emulates a sound board is installed then select the SoundBoard option and NuMorse will send to the emulation driver which will then operate the speaker. Although this method works don't expect too much from a sound board emulation speaker driver.

Selecting Hardware Port will direct the output of NuMorse to an external port which will allow operation of an external oscillator. There is a dialog box that allows you to set up the hardware port to drive the oscillator.


Sound Board Options
Sound Board Options Dialog

This dialog box controls how code will sound when played via a Sound Board. The software was developed on a 100% SoundBlaster™ compatible sound board.

Here is a description of the controls in this dialog box:

Volume is controlled by a slider bar. I suggest that you set this at 50 and then set the physical volume control on your sound board to a suitable level. If this slider is set at high levels (more than 50) then the envelope controls may not work correctly.

Leading edge and trailing edge controls affect the wavefrom envelope. These controls (like many others in NuMorse!) are not strictly necessary for the learning of code. They are provided for interest and experimentation, in the spirit of Amateur Radio. The author had much fun listening to the weird code sounds that NuMorse can produce by varying the envelope from the nominal levels of 100 for each control. A test button is provided so that you don't need to go to the Play dialog to hear the results of adjusting these controls. If the volume control is set to a high level then you may find that the envelope shape is 'clipped' under certain extreme settings of the envelope controls.

The two radio button controls switch between square wave and sine wave output; the difference is interesting...


WAV files
The .WAV files

There is a number of files shipped with this version of NuMorse. These files are the source of various sounds produced during program operation when a sound board is installed and selected, except for:

-Morse code, the sounds for generated code are produced 'on the fly' during code transmission.

-Sounds associated with message boxes are standard Windows™ system sounds, the *.WAV files for these will be in your Windows™ directory.

Here are the *.WAV files and their functions, if you do not like the sounds I have provided (highly likely!) then feel free to substitute your own *.WAV files.

INTRO.WAV is the source of the sound produced when the program starts up and during subsequent display of the About box.

GROAN.WAV is the source of the sound produced in drill mode when the user presses an incorrect key.

ALARM.WAV produces the sound at the end of a session time out if the time out option is enabled. This file is played twice.


Problems

Here are some of the queries I have received, mainly via CIS E-mail.

Q NuMorse starts up and appears to work fine, except that no sound emerges from the PC speaker.

A The most common reason for this is that you have a third party PC speaker driver installed, which prevents NuMorse from accessing the speaker. There are various solutions, apart from de-installing the driver. One solution (offered by a user) is to open the sound section of Windows control panel and select Sound (not drivers) and turn the sound off by unchecking the sounds box. When you have finished with NuMorse simply turn the sound on again.

If your PC speaker driver is a full emulation of the SoundBlaster™ sound board then try selecting SoundBoard for your output device. If this works then you will have the advantage of a volume control as well as envelope and waveform controls, but don't expect fantastic results from this method.

Check that you have the correct output device selected, NuMorse will happily send code to a hardware port or none-existent sound board if they are selected in error.

Check the code filter settings. If you try hard enough  it is possible to set up the code character filter to filter out ALL of the characters.

Check the Code Source setting it may be that the code source is set to keyboard, and NuMorse is simply waiting for you to enter a keyboard character.

If you are using a sound board then check that the software volume control in the sound board options dialog is turned up.

Q The code from NuMorse sounds dreadful, the timing is hopeless.

A This fooled the author for a time. The problem is to do with the way Windows shares out processor time between applications. NuMorse, in common with all Windows applications, politely hands control back to Windows during pauses in program execution, such as during code spaces. If a time hungry application grabs control then all other applications, including NuMorse, have to wait. Hence code timing suffers. A typical offender is File Manager which, if left maximised but hidden, can spend lots of time rewriting its (hidden) file lists. The solution is to close all the applications you don't need while running NuMorse.

Q I would like to be able to control the volume of the output from the PC speaker.

A See the section above regarding PC speaker drivers and selection of the Sound Board option.

Q When using the automatic speed feature I get occasional extra bleeps from the speaker.

A This was a bug and will not happen in this version!

Q When I perfom certain operations the program crashes.

A Let me know about this!


Windows Keys

 Choose from the following list to review the keys used in Windows applications:

Cursor Movement Keys

Dialog Box Keys

Editing Keys

Help Keys

Menu Keys

System Keys

Text Selection Keys

Window Keys


Cursor Movement Keys

Key(s)	Function

DIRECTION key	Moves the cursor left, right, up, or down in a field.

End or Ctrl+Right Arrow	Moves to the end of a field.

Home or CTRL+Left Arrow	Moves to the beginning of a field.

PAGE UP or PAGE DOWN	Moves up or down in a field, one screen at a time.


Dialog Box Keys

Key(s)	Function

TAB	Moves from field to field (left to right and top to bottom).

SHIFT+TAB	Moves from field to field in reverse order.

ALT+letter	Moves to the option or group whose underlined letter matches the one you type.

DIRECTION key	Moves from option to option within a group of options.

ENTER	Executes a command button.

Or, chooses the selected item in a list box and executes the command.

ESC	Closes a dialog box without completing the command. (Same as Cancel)

ALT+DOWN ARROW	Opens a drop-down list box.

ALT+UP or DOWN ARROW	Selects item in a drop-down list box.

SPACEBAR	Cancels a selection in a list box.

Selects or clears a check box.

CTRL+SLASH	Selects all the items in a list box.

CTRL+BACKSLASH	Cancels all selections except the current selection.

SHIFT+ DIRECTION key	Extends selection in a text box.

SHIFT+ HOME	Extends selection to first character in a text box.

SHIFT+ END	Extends selection to last character in a text box


Editing Keys

Key(s)	Function

Backspace	Deletes the character to the left of the cursor.

Or, deletes selected text.

Delete	Deletes the character to the right of the cursor.

Or, deletes selected text.


Help Keys

Key(s)	Function

F1	Gets Help and displays the Help Index for the application. If the Help window is already open, pressing F1 displays the "Using Windows Help" topics.

In some Windows applications, pressing F1 displays a Help topic on the selected command, dialog box option, or system message.

SHIFT+F1	Changes the pointer to [image] so you can get Help on a specific command, screen region, or key. You can then choose a command, click the screen region, or press a key or key combination you want to know more about.


Menu Keys

Key(s)	Function

Alt	Selects the first menu on the menu bar.

Letter key	Chooses the menu, or menu item, whose underlined letter matches the one you type.

Alt+letter key	Pulls down the menu whose underlined letter matches the one you type.

LEFT or RIGHT ARROW	Moves among menus.

UP or DOWN ARROW	Moves among menu items.

Enter	Chooses the selected menu item.


System Keys

The following keys can be used from any window, regardless of the application you are using.

Key(s)	Function

Ctrl+Esc	Switches to the Task List.

Alt+Esc	Switches to the next application window or minimized icon, including full-screen programs.

Alt+TAB	Switches to the next application window, restoring applications that are running as icons.

Alt+PrtSc	Copies the entire screen to Clipboard.

Ctrl+F4	Closes the active window.

F1	Gets Help and displays the Help Index for the application. (See Help Keys)


Text Selection Keys

Key(s)	Function

SHIFT+LEFT or RIGHT ARROW	Selects text one character at a time to the left or right.

SHIFT+DOWN or UP	Selects one line of text up or down.

SHIFT+END	Selects text to the end of the line.

SHIFT+HOME	Selects text to the beginning of the line.

SHIFT+PAGE DOWN	Selects text down one window.

Or, cancels the selection if the next window is already selected.

SHIFT+PAGE UP	Selects text up one window.

Or, cancels the selection if the previous window is already selected.

CTRL+SHIFT+LEFT or RIGHT ARROW	Selects text to the next or previous word.

CTRL+SHIFT+UP or DOWN ARROW	Selects text to the beginning (UP ARROW) or end (DOWN ARROW) of the paragraph.

CTRL+SHIFT+END	Selects text to the end of the document.

CTRL+SHIFT+HOME	Selects text to the beginning of the document.


Window Keys

Key(s)	Function

ALT+SPACEBAR	Opens the Control menu for an application window.

ALT+Hyphen	Opens the Control menu for a document window.

Alt+F4	Closes a window.

Alt+Esc	Switches to the next application window or minimized icon, including full-screen programs.

Alt+TAB	Switches to the next application window, restoring applications that are running as icons.

Alt+ENTER	Switches a non-Windows application between running in a window and running full screen.

DIRECTION key	Moves a window when you have chosen Move from the Control menu.

Or, changes the size of a window when you have chosen Size from the Control menu.