home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 15 / CD_ASCQ_15_070894.iso / vrac / psator6.zip / DOCS < prev    next >
Text File  |  1994-05-08  |  91KB  |  2,144 lines

  1. PCTOR V3.07
  2.  
  3. PCTOR (c) Johan Forrer KC7WW 1991-1994
  4.  
  5.  
  6. Author: Johan B. Forrer KC7WW
  7. 26553 Priceview Drive
  8. Monroe, OR 97456
  9. United States of America
  10.  
  11.  
  12. Shareware notice
  13.  
  14.  
  15.  
  16. This program is your registered copy of PCTOR and is not for
  17. distribution in any form. You may make as many copies for your
  18. own personal use. A Shareware version of the program is available
  19. from the author. PCTOR may not be sold or distributed with
  20. another product without the express written permission of the
  21. author. The author, Johan Forrer, KC7WW will only support
  22. unmodified copies of this software.
  23.  
  24. If you are not satisfied with the program after registering it,
  25. you have 30 days from your registration date to return it for a
  26. full refund of your money, no questions asked.
  27.  
  28. Previously registered users may obtain a free upgrade to this
  29. version - please send a formatted disk and SASE (or stamped
  30. mailer or 2 IRC's).
  31.  
  32. This program may not be used by business or government
  33. institutions without proper licensing. Commercial users please
  34. contact Johan Forrer directly for modifications and/or details of
  35. site licensing.
  36. Acknowledgements
  37.  
  38.  
  39.  
  40. The work and ideas of Peter Martinez, G3PLX, and Paul Newland,
  41. AD7I, has been the source and inspiration for doing the "nuts and
  42. bolts" in this project.
  43.  
  44. Victor Poor's, W5SMM, helpful suggestions and ideas on
  45. compatibility with MBBIOS, PAMS/APlink, and the implementation of
  46. the extended ASCII set was invaluable.
  47.  
  48. The helpful suggestions of Frank Gorichar, W7JUF, who beta tested
  49. early versions of this software is greatly appreciated. A special
  50. word of appreciation to beta tester Peter Ferrand, WB2QLL/1, with
  51. helping sort out various bugs. Malcolm, WA9BVS's beta testing has
  52. helped locate numerous obscure bugs.
  53.  
  54. Thanks to Frank Wyatt, N6FW for forwarding technical
  55. documentation to me.
  56.  
  57. Many individuals have sent in "wish lists", some of which are now
  58. part of the latest version.  As always - your support, criticism,
  59. and suggestions are appreciated.
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.        Please support the efforts of shareware developers.
  72.  
  73. Table of contents
  74.  
  75.  
  76.  
  77. 0.0  Quick summary for this release.
  78.  
  79. 1.0  PCTOR what does it do ?
  80.  
  81.        1.1  Minimum requirements to run PCTOR
  82.  
  83.        1.2    CAUTION
  84.  
  85.        1.3  Planned enhancements
  86.  
  87. 2.0  Introduction
  88.  
  89. 3.0  Hardware Interface
  90.  
  91. 4.0  Installation
  92.  
  93.        4.1  Software
  94.  
  95.        4.2  Customizing the configuration file
  96.  
  97. 5.0  Operating PCTOR
  98.  
  99.        5.1 Function keys
  100.  
  101.        5.2 Command menu
  102.  
  103. 6.0 Appendix
  104.  
  105.      6.1 If problems persist.....
  106.      6.2 What if it still does not work .....
  107.        6.3 A few notes about HF modems.
  108.        6.4 Soft error detection and correction.
  109.        6.5 Frequencies of FEC stations for test purposes.
  110.        6.6 Signal analysis module.
  111.        6.7 DSP modem.
  112.        6.8 PCTOR update history.
  113.        6.9  1992 Newsletter
  114.        6.10 1993 Newsletter
  115. 7.0  Disclaimer
  116.  
  117.  
  118.  
  119. 0.0 Quick summary for version 3.07
  120.  
  121.  
  122.  
  123. -------------------------------------------------------
  124. THE FOLLOWING ANNOUNCEMENT IS IMPORTANT TO SOME USERS.
  125. -------------------------------------------------------
  126.  
  127.  
  128. In order to support an new DSP modem on the same COM port that
  129. PCTOR uses, versions higher than 3.05 now only supports
  130. transmitted data output though TxD, (pin 2 on a DB25 or DB9).
  131. This is due to the re-allocation of DTR for other purposes (the
  132. DSP uses it). It is essential to establish whether your serial
  133. port UART is suitable at higher baud rates - most modern serial
  134. ports will work without any problems, some older styles may will
  135. not work too well.
  136.  
  137. Input and output mask options have been removed. These options
  138. only made sense when PCTOR was an AMTOR-only program. Ever since
  139. PCTOR included support for RTTY and now PacTOR, these mask
  140. settings often contradicted "normal" usage of RS232 signalling
  141. conventions. A general rule that holds for all modes now are:
  142.  
  143. Mark  (binary 1) = -12V
  144. Space (binary 0) = +12V
  145.  
  146. PTT keyed = +12V
  147.  
  148. This holds for RTTY/ASCII/AMTOR and HF Packet. Although PacTOR
  149. does not commit to any specifically. In order to be compatible
  150. with this convention, please check your modem and transceiver
  151. interfacing.
  152.  
  153. If the TI DSK-based DSP modem is to be used with PCTOR, please
  154. make sure that it is connected to the serial port, powered up and
  155. ready for use. Also make sure that the "TOR.CNF" file contains
  156. the lines:
  157.  
  158. dskmdm:2    .... this requests DSP modem support
  159. dskbaud:1   .... 1=115200      baud for DSK comms
  160.                  2=(115200/2)  baud for DSK
  161.                  3=(115200/3)  baud for DSK
  162.                  A value of 1 should work for faster machines,
  163.                  however, if you experience problems with loading
  164.                  the DSK, use a lower baudrate.
  165. dskrtty:1    ....
  166. dskascii:1   .... (Allocates which modem to use, see below)
  167. dskamtor:2   ....
  168. dskpactor:3  ....
  169. dskpacket:4 .....  1=170 Hz shift 50  baud 2125/2295 FSK
  170.                    2=170 Hz shift 100 baud 2125/2295 FSK
  171.                    3=200 Hz shift 200 baud 2125/2310 FSK
  172.                    4=200 Hz shift 300 baud 1600/1800 FSK
  173.                   10=170 Hz shift 50  baud 1275/1445 FSK
  174.                   11=425 Hz shift 50  baud 1275/1700 FSK
  175.                   12=850 Hz shift 50  baud 1275/2295 FSK
  176.                   20=170 Hz shift 50  baud 2125/2295 AFSK
  177.                   21=170 Hz shift 100 baud 2125/2295 AFSK
  178.  
  179. Further information on the DSK-based DSP modems are available in
  180. a separate document.
  181.  
  182. Known Bugs:
  183.  
  184.  
  185. 1. Dos versions below 4.0 will not load hot key buffer. The
  186. reason is that in order to provide a sorted list of buffers,
  187. PCTOR uses the dir /o:n command. This option is not available in
  188. older DOS versions. 
  189.  
  190. New features:
  191.  
  192.  
  193. 1. For AN-93 users, the parallel port is chosen by the LPT
  194. parameter:
  195.  
  196. lpt:x    where x=1, 2 for LPT 1 or LPT 2. The default is LPT 1.
  197.  
  198. 2. Any COM port (1 - 4) may be specified in the configuration
  199. file. Please make sure that your configuration file contain an
  200. entry:
  201.  
  202. com:x    where x=1, 2, 4, or 4
  203.  
  204. 3. If a TI 320C26 DSK is used as a DSP modem, appropriate modem
  205. code will be loaded automatically when operating modes are
  206. changed.
  207.  
  208.  
  209.  Bug fixes since version 3.03:
  210.  
  211. 1. Some users reported that they experienced a system lockup
  212. after the initial screen. This was reported in cases where a
  213. sound card was installed in the system, and also with DOS 6. The
  214. problem was traced to a Compiler bug and required some minor
  215. rework of code.
  216. 1.0 PCTOR what does it do ?
  217.  
  218.  
  219. Using only a low cost external HF modem, PCTOR makes it possible
  220. to run AMTOR on PC compatible hardware without the need of
  221. dedicated multi-mode terminal node controller (TNC) hardware. All
  222. decoding is performed in software in real time using only PC
  223. hardware. The software has been tested to work even on a lowly
  224. 4.77 Mhz PC compatible.
  225.  
  226.  
  227. PCTOR will run under Microsoft Windows as a DOS application in
  228. full screen mode (please see the supplied .PIF file), however
  229. this kind of operation is presently not recommended. Future
  230. releases of PCTOR will be specific for operation under the
  231. Microsoft Windows platform.
  232.  
  233.  
  234. The main features of PCTOR could be summarized as:
  235.  
  236.  
  237.  
  238. 1  - Split screen operation: Data received through the AMTOR
  239.      translator is displayed on the upper window. The operator's
  240.      keyboard entry is displayed on the lower window. A status
  241.      window shows real-time operational status of the digital
  242.      translator. This includes, timing, path propagation delay,
  243.        link status, selcals, and more.
  244.  
  245. 2 -  All AMTOR modes are supported: ARQ, FEQ, and "Listen".
  246.      Ascii/Baudot at any baudrate (practical maximum is 1200
  247.      baud).
  248.  
  249. 3 -  The user may define several text buffers, i.e. brag tape,
  250.      CQ messages, etc. that may be loaded for transmission with
  251.      with one key stroke.
  252.  
  253. 4 -  Text files my be transmitted. Typically the user will
  254.      prepare these off-line.
  255.  
  256. 5 -  Unshift-on-space (UOS) option.
  257.  
  258. 6 -  "PLX"-method of upper/lower case with extensions as
  259.      developed by Peter Martinez (G3PLX), and Victor Poor
  260.      (W5SMM).
  261.  
  262. 7 -  A "high" reliability option based on multiple bit sampling
  263.      and majority voting. Memory ARQ for AMTOR is also supported.
  264.  
  265. 8 -  Receive data can be optionally be captured in a file.
  266.      Automatic time stamps, as well as user-initiated time stamps
  267.      may be entered into this capture file. The capture file can
  268.      be read using an ordinary text editor.
  269.  
  270. 9 -  PCTOR can open a Dos shell (viable only for 386/486)
  271.      with the low level AMTOR decoder running. The low
  272.      level decoder has buffered I/O queues to accept traffic even
  273.      when PCTOR has opened a DOS shell.
  274.  
  275.  
  276. 10 - The user can customize the working environment through use
  277.      of a configuration file that is read when PCTOR starts up.
  278.      Usage of a DOS environment variable "PCTOR" allows easy
  279.      accommodation for a variety of operating environments.
  280.  
  281. 11 - Keyboard entry is either in word-edit or character mode.
  282.      When in word-edit mode, keyboard data is only entered into
  283.      the type-ahead buffer when a space is entered (or carriage
  284.      return, or the special symbol sequence "+?"). This way
  285.      typing mistakes may be corrected before releasing them over
  286.      the air.
  287.  
  288. 12 - Advanced signal processing is available when using a special
  289.      modem. This type of modem allows PCTOR to analyze internal
  290.      circuit voltages in order to perform "soft" error detection
  291.      and correction. Please see section 6.4 for further details.
  292.  
  293. 13 - PCTOR's time may be set either for UTC or the user's local
  294.      time. 1.1 Minimum requirements to run PCTOR
  295.  
  296.  
  297. PCTOR will run on an IBM PC or close compatible computer. DOS 3.1
  298. or higher is required. A monochrome or EGA/VGA display adaptor
  299. will work. Although the software will run on a floppy-based
  300. system, a hard disk is recommended. The definition of "true IBM
  301. compatibility" is fuzzy and a great deal of flexibility has been
  302. built into the programs to handle a wide range of PC hardware.
  303. Please refer to the appendix where some further notes on dealing
  304. with incompatibilities are included.
  305.  
  306. Some of the DSP options are only feasible on more powerful
  307. machines, i.e. 386 with co-processor or a 486.
  308.  
  309. On the radio side, an HF modem, i.e. ST-6 or equivalent is
  310. required to decode received audio to +/- 12V RS232 logic signals.
  311. For transmission of AMTOR over the air, the user also has to
  312. provide a PTT interface and either AFSK or FSK. These interfaces
  313. are often included in an HF modem. If the software is used for
  314. monitoring only, only the HF modem is required. The HF modem is
  315. required to convert audio tones to RS232 compatible digital
  316. levels required by PCTOR (please see 6.3 for further notes on HF
  317. modems).
  318.  
  319. PCTOR uses some of the signal lines of the standard COM1 or COM2
  320. serial ports as a digital interface (the user specifies which COM
  321. port - see "Installation - software").   1.2 Caution
  322.  
  323.  
  324.  
  325. This software may not be suitable for all working environments.
  326. The user should therefore proceed with the usual caution and make
  327. sure critical software is backed up.
  328.  
  329. Every effort has been made to ensure that the software is "well
  330. behaved", however, the user is reminded that this software relies
  331. on critical timing. Normal system functionality is retained, i.e.
  332. time-of-day and floppy disk timeout activities. The user must
  333. thus be careful not to run other software that relies on similar
  334. "tricks" that PCTOR uses as the consequences are indeterminable.
  335.  
  336. Normal program usage and program termination will undo the
  337. actions of PCTOR and restore normal system operation. Should a
  338. program failure occur, the only way to restore normal system
  339. operation is to reboot DOS.
  340.  
  341. 1.3 Planned enhancements
  342.  
  343.  
  344.  
  345. Several enhancements are planned for release in the near future.
  346. As a registered user you will be notified of these when it
  347. becomes available. These include:
  348.  
  349. * PACTOR (a pre-release version is already available).
  350. * SAA/CUA standard interface (Windows Application).
  351. 2.0 Introduction
  352.  
  353.  
  354.  
  355. PCTOR is an implementation of CCIR specification 476-2 on an IBM
  356. personal computer or compatible computer. As such, it replaces
  357. the need for dedicated TNC hardware and is an attractive
  358. alternative for the casual user evaluating a new operating mode,
  359. as well as the serious developer that needs to embed low level
  360. I/O functionality into a system. 
  361.  
  362. PCTOR contain a user-interface program that works in conjunction
  363. with several low-level routines that enables a user to operate
  364. and monitor TOR traffic with a minimum of fuss. Its
  365. multiple-window user interface allows simultaneous monitoring of
  366. decoded traffic, decoding status, and user keyboard history. Pop-
  367. up windows is used for setting operational parameters, file-I/O
  368. operations, and canned buffer transmissions.
  369.  
  370. Function keys are used for quick, easy, and efficient control of
  371. most operations.
  372.  
  373. PCTOR was developed using Borland C++ Version 3.1. The low-level
  374. interface was developed using Borland Turbo Assembler version
  375. 3.0.
  376. 3.0 Hardware interface
  377.  
  378.  
  379.  
  380. PCTOR interfaces through signals of the COM1 or COM2 RS232 port.
  381. The following allocation of RS232 signals have been made: Other
  382. signal pins may be connected, however will play no part in the
  383. operation of PCTOR.
  384.  
  385. Note that for a minimal interface, DTR, RTS, DCD, and Ground, is
  386. required. This will allow operation on AMTOR. For ascii/baudot,
  387. RD and TD must be utilized. If further software support for the
  388. tuning display or memory ARQ is required, a parallel port
  389. interface is required. Please contact the author for further
  390. details. 
  391.  
  392.  
  393. For a 25-pin serial connector:
  394.  
  395. pin 2   (TD)  - output data bits (mark -12V, space +12V)
  396. pin 4   (RTS) - PTT              (off  -12V, on    +12V)
  397. pin 8   (DCD) - input data bits  (mark -12V, space +12V)
  398. pin 7   (Ground)
  399.  
  400. The following link is required:
  401.  
  402. pin 3   (RD)  connected to pin 8 (DCD).
  403.  
  404.  
  405.  
  406. For a 9-pin serial connector:
  407.  
  408. pin 3   (TD)  - output data bits (mark -12V, space +12V)
  409. pin 7   (RTS) - PTT              (off  -12V, on    +12V)
  410. pin 1   (DCD) - input data bits  (mark -12V, space +12V)
  411. pin 5   (Ground)
  412.  
  413.  
  414. The following link is required:
  415.  
  416. pin 2   (RD)  connected to pin 1 (DCD).
  417.  
  418.  
  419. When PCTOR is used in conjunction with the AN-93 analog modem,
  420. the parallel port interface is as follows:
  421.  
  422. For a 25-pin parallel printer connector:
  423.  
  424. pin 15 - AD0    (bits 0 - 4 from the A/D convertor)
  425. pin 13 - AD1
  426. pin 12 - AD2
  427. pin 11 - AD3
  428. pin 10 - AD4
  429.  
  430. pin 1  - Strobe (strobe for A/D convertor)
  431.  
  432. pin 18-25 - Ground
  433. 4.0 Installation
  434.  
  435.  
  436. 4.1 Software
  437.  
  438.  
  439. It is assumed that a hard disk is available, though the program
  440. can be run off a floppy disk as well. In fact it is suggested
  441. that you first run off a floppy disk to see if this software is
  442. compatible with other software that you may have on your system.
  443.  
  444. 1. Create a new subdirectory and change directory to it, i.e.
  445.  
  446.    mkdir tor 
  447.    cd tor
  448.  
  449. 2. Copy the contents of the floppy to the new subdirectory.
  450.  
  451.    copy a:*.*
  452.  
  453.    The following files will be copied:
  454.     
  455.    tor.exe    -- The split screen AMTOR program. 
  456.    tor.cnf    -- Setup file to custom configure your program. 
  457.    docs       -- This documentation.
  458.    brag.tor   -- An example test file to load.
  459.    cq.tor     -- Another example file to load.
  460.    test.tor   -- A buffer file for demonstration of control
  461.                  characters
  462.    AMTOR.BAT  -- A batch file to run TOR with a parameter. Check
  463.                  to see which communications port COM 1 or 2 you
  464.                  desire.
  465.  
  466. 3. Customize tor.cnf  (see 4.2 "Customizing the configuration").
  467.  
  468. 4. Create, or edit the files with ".tor" extensions. These files
  469.    will be read when the program starts and will become the
  470.    user's personalized buffers. These are transmitted by using
  471.    the "hot" keys ALT-1 through ALT-9. The two included examples
  472.    are typical.
  473.  
  474. 5. Edit the the batch file "AMTOR.BAT" to suit your screen
  475.    display color requirements (Please see section 9).
  476.  
  477. 6. Run the batch file AMTOR, i.e. type AMTOR <enter>, or
  478.    alternatively run it directly from the command line. 
  479.  
  480. 7. Make sure that you use the "ANSI.SYS" device driver in your
  481.    DOS config.sys (please see about ANSI.SYS in your DOS manual).
  482.  
  483. 8. There are three DOS environment variables that is worth
  484. knowing about. If you are not familiar with environment
  485. variables, type "SET" with no additional parameters at the DOS
  486. command line for the present list of environment variables on
  487. your machine. Some programs actually scans this list and may
  488. configure themselves accordingly. As far as PCTOR is concerned,
  489. your time zone, i.e. how many hours your are way from UTC time,
  490. and what abbreviation you would like to use for logging and
  491. operating purposes, is important. This environmental variable is
  492. called "TZ" and you typically include it in your autoexec.bat:
  493.  
  494.    set TZ=PST8  (I use this for setting Pacific Standard Time,
  495.                  that is 8 hours after UTC. Please consult your
  496.                  DOS manual).
  497.  
  498. When you need to run PCTOR with say a bunch of different
  499. configuration files, or different ".tor" files, the "PCTOR"
  500. environment variable may be used to distinguish amongst them.
  501. Otherwise PCTOR will use the configuration file and ".tor" files
  502. in the local subdirectory from where you executed PCTOR from. If
  503. for example you need to use a different subdirectory for your
  504. configuration file than where your execute tor.exe, then the
  505. following command need to be typed at the DOS command line, or
  506. included your autoexec.bat (lets assume the configuration file is
  507. in c:\COMM):
  508.  
  509.        set PCTOR=c:\COMM
  510.  
  511. The third environment variable that is of concern is COMSPEC.
  512. This variable tells PCTOR where to locate "command.com" when a
  513. dosshell is invoked (the F8 key). Usually the root directory is
  514. used, but there are instances where users specifically wish to
  515. locate their command.com elsewhere. DO NOT CHANGE the COMSPEC
  516. variable unless you are very familiar with DOS.
  517.  
  518. 9. Several options are configurable from PCTOR's command line.
  519. This includes the type of display adaptor, the number of lines in
  520. each of the split screen displays, and the colors of displayed
  521. characters, messages, and annunciators. If you are using an
  522. EGA/VGA/SVGA display adaptor, the default settings will probably
  523. be adequate. In that case, leave out any further parameters on
  524. the command line.
  525.  
  526. The general format of the command line format is:
  527.  
  528. TOR [/B | /C | /M] [/Wxx] [/R] [[/SCxx] [/SExx] [/SBxx]
  529.                                 [/SMxx] [/SAxx]]
  530.  
  531. A command line parameters require the leading "/" followed by a
  532. directive such as B,C,M,W,R, or S. These parameters may be
  533. submitted in any order, each occurring only once. Note that for
  534. the display adaptor group, only one parameter, i.e. /B, or /C, or
  535. /M must be present. If for instance you have a monitor that has
  536. both color and black and white capabilities, and you desire to
  537. use a black and white display, use the /B. Using monochrome in
  538. this case will probably lock up your display.
  539.  
  540. The significance of the command line parameters are given below.
  541.  
  542. ┌───────────────────────────────────────────────────────┐
  543. │ Parameter               Description                   │
  544. ╞═══════════════════════════════════════════════════════╡
  545. │     Display type    (ONLY ONE OF THESE ALLOWED)       │
  546. ├───────────────────────────────────────────────────────┤
  547. │     B                   Black and white on a color display  │
  548. │     C                   Color                               │
  549. │     M            Monochrome                                          │
  550. ╞═══════════════════════════════════════════════════════╡
  551. │     Wxx          Size of receive display (lines)          │
  552. ╞═══════════════════════════════════════════════════════╡
  553. │     R       Receive only - disable transmit facilities    │
  554. ╞═══════════════════════════════════════════════════════╡
  555. │             Display color attributes                  │
  556. ├───────────────────────────────────────────────────────┤
  557. │     SCcc                Received traffic character color    │
  558. │     SEcc                Echoed   traffic character color    │
  559. │     SBcc                Background      color                            │
  560. │     SMcc                Message     character color         │
  561. │     SAcc          Annunciator character color         │
  562. └───────────────────────────────────────────────────────┘
  563. * The field xx indicates an integer number of lines.
  564.   The field cc indicates a color code as given in the color table
  565. below.  
  566.  
  567. Certain restrictions apply to assignment of foreground and
  568. background  colors. Example. The default settings are:
  569.  
  570. TOR /C /W20 /SC7 /SE15 /SB1 /SM3 /SA14
  571.  
  572. This translates to: Color display (CGA/EGA/VGA), 22 line receive
  573. display size, SC=Lightgray, SE=White, SB=Blue, SM=Cyan,
  574. SA=Yellow.
  575.  
  576. Experience have shown that there are various types of monochrome
  577. display adapters around. Even those that are advertized as
  578. "Hercules" compatible often behave differently. Some of these
  579. monochrome display adapters could be used as being "color" as
  580. they will correctly map colors to the appropriate black/white
  581. attributes. Other monochrome adapters, however require the /M
  582. parameter and must not contain any color attributes. Some
  583. experimentation is necessary. Be warned that in some instances an
  584. inappropriate display selection may lock up your machine and
  585. require a reboot to recover.
  586.  
  587. The receive-only command line option, /R, will disable all
  588. transmit facilities such as F1, F2, as well as functions that
  589. enter data into transmit buffers. It is also recommended in this
  590. instance to remove the keyboard-buffer window altogether using
  591. /W25.
  592.  
  593.  
  594.  
  595.  
  596. Color constants for setting PCTOR display attributes.
  597.  
  598. ┌─────────────────────────────────────────────────────┐
  599. │ Color Constant   Value     Foreground or Background │
  600. ╞═════════════════════════════════════════════════════╡
  601. │BLACK                    0                   Both                       │
  602. │BLUE                     1                   Both                       │
  603. │GREEN                    2                   Both                       │
  604. │CYAN                     3                   Both                       │
  605. │RED                    4                     Both                       │
  606. │MAGENTA                  5                   Both                       │
  607. │BROWN                    6                   Both                       │
  608. │LIGHTGRAY                7                   Both                       │
  609. │DARKGRAY               8                     Foreground only      │
  610. │LIGHTBLUE                9                   Foreground only      │
  611. │LIGHTGREEN              10                   Foreground only      │
  612. │LIGHTCYAN               11                   Foreground only      │
  613. │LIGHTRED              12                     Foreground only      │
  614. │LIGHTMAGENTA            13                   Foreground only      │
  615. │YELLOW                  14                   Foreground only      │
  616. │WHITE                   15                   Foreground only      │
  617. └─────────────────────────────────────────────────────┘
  618.  
  619. 4.2 Customizing the configuration
  620.  
  621.  
  622.  
  623. To enable a user to streamline the setup of the program to his
  624. requirements, a configuration file, "tor.cnf" is read during
  625. startup. Read and edit the contents of the provided file
  626. "tor.cnf" to suit your own preferences. This file is optional,
  627. but when not found, the system will use defaults. These entries
  628. are all optional, and may appear in any order, however, please do
  629. not enter any spaces between symbols, 
  630.  
  631. i.e. 
  632.  
  633. vid : 1        is NOT the same as       vid:1
  634.  
  635. (The last one is correct).
  636.  
  637.  
  638.  
  639. The following entries may be customized:
  640.  
  641. id:KCWW/KC7WW             ----- set your identity selcal/callsign
  642. selcal:WDRZ/WA8DRZ/6      ----- set the  startup selcal/callsign.
  643. wru:QRA KC7WW KCWW        ----- your WRU text.
  644. com:1                     ----- COM port to use 1= COM 1
  645.                                                 2= COM 2
  646.                                                 3= COM 3
  647.                                                 4= COM 4
  648. lpt:1                     ----- LPT port to use for AN-93 modems
  649.                                 1= LPT 1.
  650.                                 2= LPT 2
  651. opmode:0                  ----- defines start-up mode 0 = AMTOR
  652.                                                       1 = BAUDOT
  653.                                                       2 = ASCII
  654. baud:45                   ----- initialize BAUDOT/ASCII baudrate
  655. txdelay:30                ----- delay (ms) after PTT on till data
  656.                                 out.This gives your transmitter
  657.                                 time to changeover to transmit.
  658. cddelay:3                 ----- delay (ms) after a data block is
  659.                                 received before acknowledgement
  660.                                 is sent. This gives the other
  661.                                 station's receiver time to
  662.                                 recover.
  663. timing:25                 ----- system clock timing adjustment
  664. uos:0                     ----- unshift-on-space OFF
  665. diddle:0                  ----- RTTY diddle is OFF
  666. case:0                    ----- upper/lower case OFF
  667. log:1                     ----- receive data capture (logging)
  668. logfile:tor.log           ----- data capture filename
  669. scrollfile:scroll.tmp     ----- name of scroll file - if a
  670.                                 ramdisk is available, use the
  671.                                 full drive name here
  672. logprog:logger.exe        ----- name of user's personal log
  673.                                 program
  674. packetprog:pac.bat        ----- name of user's packet program
  675. rel:0                     ----- reliability OFF
  676. vid:1                     ----- DIRECT video I/O enabled (see
  677.                                 appendix on hardware
  678.                                 compatibility)
  679. fcrlf:1                   ----- Files, i.e. buffers and files to
  680.                                 be sent through the ALT-F command
  681.                                 should use the AUTOMATIC CR/LF
  682.                                 mode. This means that all CR's in
  683.                                 the input text files will be
  684.                                 ignored, and LF will be
  685.                                 interpreted as CR/LF.
  686.  
  687. refr:15                   ----- Status update rate. The number of
  688.                                 system ticks between updates,
  689.                                 i.e. 15*55mS=0.825 seconds. To
  690.                                 fast a rate will flicker or
  691.                                 perhaps may introduce timing
  692.                                 problems, too slow will affect
  693.                                 animation of timing bar, clock,
  694.                                 etc.
  695. time:0                    ----- Use local time in displays and
  696.                                 logging. If UTC time is required,
  697.                                 use time:1 (also refer to the TZ
  698.                                 environment variable).
  699. tuning:0                  ----- Disable software support for
  700.                                 tuning display. To utilize this
  701.                                 feature, use tuning:1. A
  702.                                 special modem is required.
  703. marq:0                    ----- Disable memory ARQ. Different
  704.                                 levels of memory ARQ are
  705.                                 recognized. Presently only level
  706.                                 1, "hard bits" is recognized.
  707.                                 To utilize level 2 memory ARQ,
  708.                                 i.e "soft bits", a special modem
  709.                                 is required.
  710. word:1                    ----- Turns word-edit mode on.
  711. stats:0                           ----- Turns statistics off. When
  712.                                 stats:1, displays the number of
  713.                                 blocks received, number of blocks
  714.                                 in error, and when memory ARQ is
  715.                                 enabled, the number of blocks
  716.                                 successfully reconstructed. These
  717.                                 statistics are also inserted in
  718.                                 the log file for later retrieval.
  719. dskmdm:0                   -----DSP modem 0 = Use external modem
  720.                                           1 = Use DSK.
  721.  
  722. Note that the syntax isn't tested very rigorously. Please check
  723. your input carefully against the supplied example.
  724.  
  725. Both the AMTOR mode of PCTOR and RTTY/ASCII uses "common RS232
  726. convention" where:
  727.  
  728.                      Mark (binary 1) = -12V 
  729.                      Space (binary 0) = +12V
  730.  
  731.                      PTT not asserted (open) = -12V
  732.                      PTT asserted (keyed)    = +12V
  733.  
  734. Until you have sorted out the required logic interfacing logic,
  735. prepare your transceiver for low power output into a dummy load
  736. (you may find your PTT unexpectedly comes on upon executing the
  737. program).
  738.  
  739. Now run TOR. If your PTT comes on right away, the sense of RTS
  740. must be inverted before further testing can be done. Normally,
  741. TOR should put you in standby mode (PTT OFF).
  742.  
  743. Next, on-the air tests will be necessary. Try to decode some FEC.
  744. FEC will be decoded while in standby mode. To make sure that you
  745. are in standby mode, hit F10. Tune in on an FEC transmission and
  746. wait for it to sync. If it fails to decode anything, first try
  747. changing the other sideband setting of your transceiver (if you
  748. normally use LSB, try using USB). This will show whether it's the
  749. interface logic or whether there is some other problem. If TOR
  750. receives FEC in the other sideband setting, the sense of DCD
  751. needs to be changed. 
  752.  
  753. The final test is to determine the logic level required for the
  754. transmitted data. Try an ARQ call. If it fails, you need to
  755. invert the sense of TxD.
  756.  
  757. There is an additional timing-related entry, "timing:" that need
  758. to be set up. This parameter allows external adjustment of the
  759. system clock pulses to cater for systems with inaccurate clocks.
  760. Very few PC's have accurate clocks and although the default value
  761. (25) will work reasonable well in most cases, adjustment of this
  762. parameter is very desirable. For determining the value of this
  763. timing parameter, see  5.2 - Command menu: usage of the 'T'
  764. option. 
  765. 5.0 Operating PCTOR
  766.  
  767.  
  768.  
  769. Upon startup, the shareware banner may be displayed if you are
  770. suing the shareware version. In this case, press the ESC key to
  771. proceed to the PCTOR screen.
  772.  
  773. The contents and layout of the status display line depends on
  774. which options the user has selected. The following description
  775. refers to the case when all the options are enabled. This gives
  776. the reader a description of all possibilities.
  777.  
  778. PCTOR displays several windows: two status displays, the received
  779. traffic window, and the keyboard display. 
  780.  
  781. The smallest display is at the top of the screen, is the status
  782. window that is updated in real time and some machines may show
  783. some flickering. This is normal. 
  784.  
  785. Link status information, i.e. ARQ/BAUDOT/ASCII, IDLE, TFC, ERR,
  786. RQ, is displayed on the left hand side of the status line.
  787.  
  788. Adjacent to the link status is the selcal/callsign of the remote
  789. station. This data is used in establishing the link and also for
  790. printing out identification data (see usage of the "Ins" key).
  791.  
  792. Next, the programmed delays are shown: TD is the time (in
  793. milliseconds) that you allow, after the PTT signal has been
  794. activated, before data output will start. It is one way to
  795. compensate for slower on-switching equipment on your end. It
  796. allows for things to settle, before actual data is being sent.
  797. The default value (30 ms) is a reasonable compromise. CD is the
  798. time (in milliseconds) that allows the remote station's receiver
  799. to recover after it sent a block and is getting ready to receive
  800. your acknowledgment. The default of 3ms is reasonable. Actually,
  801. the total time before the user will be able to sample the
  802. acknowledgement is CD+TD. When you are sending blocks, however,
  803. then TD only plays a role. This split timing scheme allows for
  804. compensation in situations where the remote station experiences
  805. slower receiver recovery that transmit turn-on time. This is
  806. typical for local contacts.
  807.  
  808. Once some traffic starts flowing, and you were the call
  809. originator on ARQ (i.e. the "Master"), the block receive time
  810. will be displayed. This is an internal timing parameter that
  811. cannot be changed. It includes the delay-parameters at both send
  812. and receive stations as well as the time delay due to the signal
  813. propagation through the atmosphere. If you notice considerable
  814. variation, then multipath propagation is most probably the
  815. reason, however, under high noise conditions, the simple types of
  816. modems may also pass too much pulse noise for the software to
  817. achieve good bit phasing lock.
  818.  
  819. If the unshift-on-space (UOS) feature has been selected, this
  820. will be displayed as a µ symbol. This feature will shift letter
  821. shift when a space character is printed. Under noisy conditions,
  822. this will prevent the printing of data in the wrong case.
  823.  
  824. If the user has selected the receive screen capture
  825. (autologging), the a ¢ symbol will be displayed.
  826.  
  827. When the reliability option is selected a √ symbol will be
  828. displayed. Reliability is obtained by sampling each bit multiple
  829. times and using a majority voting.
  830.  
  831. If the user selected upper/lower case operation, there will be
  832. two arrows, the first one is associated with the case of the
  833. receive text, while the second one is associated with the
  834. transmit case. An "up" arrow means upper case, while a "down"
  835. arrow indicates lower case.
  836.  
  837. A 24 hour-format clock is also shown on the display. This clock
  838. is used for time stamps that are written to the log file, if
  839. enabled. The clock may be set for local time or UTC time (also
  840. see section 4.1 for details).
  841.  
  842. An eleven bit analog indicator on the right hand side shows how
  843. bit phasing is progressing. During FEQ or ARQ, the indicator
  844. should show slow motion from right to left. The speed of the
  845. motion depends on how much your clock and the other station's are
  846. differing relative to each other.
  847.  
  848. When the special TOR modem is used, and provided that the
  849. "tuning:1" option is set in the configuration file, a tuning
  850. indicator is displayed immediately below the bit phasing display.
  851. This tuning display consists of ten gradations each for mark and
  852. space simulating two bar-graph displays. The position of the
  853. indicator within the bar-graph display is proportional to energy
  854. passing through the mark and space filters in the modem's
  855. discriminator. When there is sufficient energy present, the color
  856. of the displayed indicator will change from a grayed outline to a
  857. solid color (red for mark and yellow for space on color
  858. displays). A well-tuned signal shows as two solid indicators that
  859. rests on the extreme end of the display. The display is quite
  860. steady and sharp.
  861.  
  862. When using the "marq:1" option is used, the level 1 memory ARQ
  863. procedure is performed during ARQ reception. This involves block
  864. reconstruction from multiple bad blocks using "hard bits". Level
  865. 2 memory ARQ uses "soft bits" in addition to "hard bits",
  866. however, the special TOR modem is required. When memory ARQ has
  867. been successful in reconstructing a block, this is shown as "ERR"
  868. with green background instead of the usual red background. 
  869.  
  870. The second status line displays the name of the user-supplied log
  871. file, the name of the user-supplied executable (usually a logging
  872. program), statistics, and the size of the type-ahead buffers.
  873. 5.1 Function keys
  874.  
  875.  
  876.  
  877. The function keys have the following functions:
  878.  
  879. F1  - Initiate an FEC (Ascii/Baudot) call.
  880.  
  881. F2  - Initiate an ARQ call.
  882.  
  883. F3  - Force a change-over (works only in ARQ).
  884.  
  885. F4  - Initiate QRT sequence (ends ARQ/FEC, Ascii/Baudot
  886.       transmissions).
  887.  
  888. F5  - If receive text capture is enabled, will insert a timestamp
  889.       into the log file.
  890.  
  891. F6  - Initiate ARQ listen mode.
  892.  
  893. F7  - Clear keyboard type ahead and special buffers (used for
  894.       WRU), clears keyboard display.
  895.  
  896. SHFT F7 - Clears receive display.
  897.  
  898. F8  - Open a DOS shell (use with care - 386/486 machines).
  899.  
  900. F9  - Not used.
  901.  
  902. F10 - Abort any operation in progress and revert to standby mode.
  903.  
  904. End - Enter the +? sequence into the keyboard buffer.
  905.  
  906. Ins - Enter an identification string into the keyboard buffer.
  907.  
  908. Del - Force LTR case during receive (FEC/ARQ or Baudot). In
  909.       addition will it reset the transmit and received cases to
  910.       UPPER.
  911.  
  912. Ctrl-Home - toggles "raw" data mode. For experimenters only -
  913.       displays untranslated ITA2 (Baudot) code in Hex. This data
  914.       is also written to the log for later analysis.
  915.  
  916. ESC - Calls up the command menu when in user mode. 
  917.  
  918. Pgup/PgDn// - Scrollback, any other key will restore screen
  919.  
  920. ALT-A Executes a signal analysis program. The modulation
  921.       signal as recovered after the low pass filter of the modem
  922.       is sampled and displayed in a graphics window. A second
  923.       graphics window displays the frequency domain equivalent.
  924.         Only EGA, VGA, and Hercules-compatibility is supported
  925.       (also see Appendix for more on the signal analysis
  926.       software).
  927.  
  928. ALT-B - Enter the buffers menu. This allows a data buffer to be
  929.       loaded into the keyboard buffer. The user prepares these
  930.       buffers ahead of time using a text editor. These files have
  931.       a "TOR" extension and will be loaded when TOR is
  932.       initialized. Also note the usage of the ALT-1 through ALT-9
  933.       keys as "hot" keys to load any of these buffers with one
  934.       keystroke.
  935.  
  936. ALT-C - Prompt user to enter the selcal/callsign of the remote
  937.       station AND initiate an ARQ call immediately.
  938.  
  939. ALT-D - Toggle RTTY diddle on/off.
  940.  
  941. ALT-F - File transmission menu. Allows the transmission of text
  942.       files while in FEC or ARQ. The transmitted text will be
  943.       displayed as it is transmitted. There will be no echo to
  944.       the receive window.
  945.  
  946. ALT-H - Displays a help screen, showing the usage of the various  
  947.       function keys.
  948.  
  949. ALT-M - "Hot keys" to the DSP modem control program.
  950.  
  951. ALT-L - Activate the program named in the configuration file
  952.       option "logprog". PCTOR remains running in the background.
  953.       Upon termination of the user's program, the PCTOR display
  954.       is restored.
  955.  
  956. ALT-P - "Hot keys" to PC-PACTOR. Note that PC-PACTOR need to be
  957.       available in the same directory than PCTOR.
  958.  
  959. ALT-O - Toggles output to printer on/off.
  960.  
  961. ALT-R - Prompt user for the selcal/callsign of the remote station
  962.       WITHOUT initiating an ARQ call.
  963.  
  964. ALT-T - Enter UTC time into the keyboard buffer for transmission
  965.       in FEC or ARQ.
  966.  
  967. ALT-W - Sends the "WRU" command to the remote station. This is
  968.       the "figs-D" character in the ITA2 (Baudot) alphabet.
  969.  
  970. ALT-X - terminates PCTOR in an orderly fashion. Equivalent to the
  971.       "Q" option in the command menu.
  972.  
  973. ALT-Y - "Hot key" to the packet program. Note that this typically
  974.       is a batch file. The user must set this up the "packetprog"
  975.       parameter in the configuration file. Please see 
  976.       section 4.2.
  977. 5.2 Command Menu
  978.  
  979.  
  980.  
  981. The command menu (called up when the ESC key is pressed when in
  982. the main display) has the following one letter commands:
  983.  
  984.  
  985.  
  986. C - Enable or disable upper/lower case operation.
  987. D - Set the cd and tx delays. CD is the time after reception of a
  988.     data block until your acknowledgement is forthcoming. TD sets
  989.     the time delay after the PTT is activated until data is sent.
  990.     For local contacts CD=10, TD=30 will be suitable. For DX
  991.     contacts CD=1, TD=10 is suitable. The default settings of
  992.     CD=3, TD-30 is adequate for most modern radios.
  993.        
  994. H - Help with the function keys.
  995. I - Set your own ARQ identity.
  996. K - Toggle between word-edit or character keyboard modes.
  997. L - Enable or disable receive capture (logging).
  998. O - Change operating mode AMTOR->BAUDOT->ASCII->AMTOR->...
  999. P - Change baudrate (300 max).
  1000. Q - Terminate PCTOR.
  1001. T - Set clock timing. This parameter allows fine adjustments of
  1002.     the master clock. See Appendix A for further details.
  1003. U - Sets UOS (unshift on space) on or off.
  1004. V - Toggles video mode (DIRECT/BIOS).
  1005. W - Set up your WRU text.
  1006. X - Exit the command menu to main display. The ESC key may also
  1007.     be used for this purpose. 
  1008. Y - Sends out a 500 HZ pulse train from pin 20 for diagnostic
  1009.     purposes.
  1010.  
  1011. 6.0 APPENDIX.
  1012.  
  1013.  
  1014. 6.1 If problems persists.......
  1015.  
  1016.  
  1017.  
  1018. The most common feedback from users appears to be setting up
  1019. PCTOR's master clock timing. Once this is done, the user enters
  1020. the "magic" number into the configuration file that is used
  1021. automatically each time the program is started. Only when
  1022. installing the program on another computer will it be necessary
  1023. to reset this timing parameter. 
  1024.  
  1025. Please note that this parameter has noting to do with the speed
  1026. of your processor, or whether you use an 8088 or 486. Its about
  1027. how to program a certain chip (8253/4) on the PC's motherboard.
  1028.  
  1029. Typical symptoms will be that either nothing happens when trying
  1030. to decode a FEC signal, or, the FEC sync is obtained, some text
  1031. is printed, however, synch is lost and only a few words of
  1032. garbage is printed before it starts re-sync. If you have a scope,
  1033. or frequency counter available, try the following (its not
  1034. serious if you do not have access to test equipment - you will
  1035. just have to be a little patient and do some common-sense trial
  1036. and error. It will take a little longer, but you will obtain the
  1037. same end result. Skip the next paragraph if you do not have
  1038. access to test equipment):
  1039.  
  1040. Enter the command menu (Hit ESC) and select the "Y" option. This
  1041. command should toggle the "Td" data pin at 500 Hz. Use the "+"
  1042. and "-" keys to toggle the speed up or down, however, timing
  1043. values above 30 and less than 18 are indicative of possible
  1044. incompatiblities. Most systems work fine with the default of
  1045. timing value of 25. When you have completed the test, return to
  1046. the main display and select STANDBY (F10).
  1047.  
  1048. Tune in FEC mode to a strong FEC broadcast station such as KMI
  1049. WOO, or WLO (see attached list 6.5). Observe the timing indicator
  1050. on the right hand corner of the status line. Notice that it may
  1051. slide slowly. The objective is to have it as stationary or
  1052. indecisive as possible. However, do not be concerned if you
  1053. cannot get a perfect steady display, that is quite normal.
  1054.  
  1055. Vary the timing value, one step at a time using the "+" or "-"
  1056. keys. After changing the clock setting, the previous value as
  1057. well as the new value will be displayed. You MUST then exit the
  1058. command menu for the new settings to become effective. Once back
  1059. to the main display, select STANDBY (F10) and wait for sync to be
  1060. detected. Notice that when you return from the command menu to
  1061. the main menu, you may see some received text being written to
  1062. the receive display. This is text that have been accumulated by
  1063. the low-level decoder and was stored in a system buffer while you
  1064. were using the command menu. This text should be ignored as the
  1065. changed clock setting was not yet in effect. 
  1066.  
  1067.  
  1068. Once the optimal setting has been found, modify the configuration
  1069. file TOR.CNF to include the parameter for your system. Values
  1070. ranging from 0 to 36 is valid. This procedure set the system
  1071. clock close to +/-50ppm for stable AMTOR operation.
  1072.  
  1073.  
  1074.  
  1075. 6.2 What if it still does not work ......
  1076.  
  1077.  
  1078. At this point there remains one question: how "IBM compatible"
  1079. your computer is. Perhaps your computer is quite compatible but
  1080. there may be an interface adapter card that is not. It has been
  1081. found that some video adapters does special emulation, i.e. runs
  1082. one video mode, but allows some other type of equipment to be
  1083. attached, i.e. ATI allows you to run VGA mode, yet allows you to
  1084. use a CGA display. This kind of hardware introduces either wait
  1085. states, or disables the interrupt system at a very low level.
  1086. Since PCTOR needs a stable timing source, there will be a
  1087. conflict for sure.
  1088.  
  1089. PCTOR allows you to minimize these conflicts that are related to
  1090. the video display by allowing the user to disable writing
  1091. directly to the video memory. By selecting the "V" option in the
  1092. command menu thus toggling BIOS on, all video access will be done
  1093. through BIOS calls. The status line is also simplified to reduce
  1094. the overhead. In some cases, this will do the trick. It is also
  1095. possible to reduce the amount of screen-writing activity by
  1096. slowing down the rate that the status line is updated (see 4.2
  1097. "refr:15" ). 
  1098.  
  1099. Another problem that has been experienced with older PC
  1100. compatibles, i.e. 1984 or so, is support chips on the motherboard
  1101. that does not behave like later versions. Although these machines
  1102. may be perfectly capable of running most software, they will not
  1103. be able to keep accurate timing and may not work well with PCTOR.
  1104. If possible, update the 8254 and 8259 chips. Also check the 8250
  1105. UART for the same reason.
  1106.  
  1107. Although there has not yet been reported problems on the use of
  1108. serial/parallel interface cards using ASIC (Application-Specific
  1109. Integrated Circuit) chips, some laptops and recent desktop
  1110. machines are now using them. These ASIC's have varying levels of
  1111. compatibility with the 8250-style chips and some are known to
  1112. present real problems. The author uses both styles without
  1113. problems, however, it is possible that the software may not be
  1114. able to work in all situations. If your problems persist, as a
  1115. last resort, check whether perhaps your system uses one of these
  1116. ASIC's. Feedback on such problems will be appreciated - perhaps a
  1117. solution may be forthcoming.
  1118.  
  1119.  
  1120.  
  1121. 6.3 A few notes on HF modems
  1122.  
  1123. Experience have shown that some modems perform better than
  1124. others. We may divide the class of popular modems roughly into
  1125. three categories (there are a few other types as well):
  1126.  
  1127. (I)   The phase locked loop (PLL),
  1128.  
  1129. (II)  filter type,
  1130.  
  1131. (III) digital signal processing (DSP) type.
  1132.  
  1133. It is the author's opinion that the PLL type of modems are not
  1134. suitable for average HF operations. It is best to avoid this
  1135. approach even with extensive front-end filtering.
  1136.  
  1137. The filter-type modem have been used with much greater success on
  1138. HF. However, there are various kinds of approaches in filter-type
  1139. modems:
  1140.  
  1141. Vintage designs like the ST-5 and ST-6 employed L/C filters and
  1142. are known to work reasonably well, given that some changes are
  1143. made to their low-pass filters (mainly to pass the 100 Hz AMTOR
  1144. modulation rate). 
  1145.  
  1146. Active filter designs such as the DJ6HP will also work quite well
  1147. under fair conditions, however, do not expect too much under
  1148. adverse conditions. Another popular active filter modem is the
  1149. BARTG design. This small modem will work reasonably well too,
  1150. however it lacks front-end bandpass filtering, and has poor post-
  1151. discriminator signal processing. Both these designs are good for
  1152. newcomers.
  1153.  
  1154. Modern good performance filter-type modems use sophisticated
  1155. front end filters in conjunction with well-designed
  1156. discriminators and extensive post discriminator filtering
  1157. circuitry. They generally have excellent dynamic range to handle
  1158. strong signals as well as being able to "dig into the noise" to
  1159. handle weaker signals. They will tolerate some degree of off-
  1160. frequency operation. It also has become popular to monitor analog
  1161. levels of signals within the modem in order to implement "soft"
  1162. error correction techniques. Although this does not necessarily
  1163. mean an increase the level of hardware sophistication, additional
  1164. interfacing and software support is required.
  1165.  
  1166. The DSP approach is still new to HF operation, yet holds a lot of
  1167. promise. There are presently some commercial units available.
  1168.  
  1169. If you are interested in a small, yet sophisticated filter-type
  1170. modem, with "soft" error correction capabilities, please contact
  1171. the author for further details.
  1172. 6.4 Soft error detection and correction
  1173.  
  1174.  
  1175.  
  1176. With the introduction of PACTOR, soft error detection and
  1177. correction entered the domain of HF communications for amateurs.
  1178. The idea of soft error detection and correction has been
  1179. described extensively in the literature, mostly in conjunction
  1180. with high-speed satellite data links. 
  1181.  
  1182. A short introduction to soft error detection and correction, also
  1183. termed "memory ARQ" follows:
  1184.  
  1185. Most HF modems presently in use, does extensive signal processing
  1186. to recover of the transmitted modulation. The output of the modem
  1187. then is a stream of logical bits (zeroes and ones). These bits
  1188. are then further processed by digital processing methods to form
  1189. messages. 
  1190.  
  1191. It is, however, unfortunate that a great deal of useful
  1192. information is lost when logical bits are produced by the modem's
  1193. hardware. One can think of this thresholding as a one-bit analog-
  1194. to-digital (A/D) conversion process (with resulting values zero
  1195. and one). If this A/D conversion could have produced more
  1196. resolution, i.e. eight, 16, or even 256 distinct levels, then it
  1197. would have been possible not only have access to the resultant
  1198. thresholded value, but also the magnitude of the signal at the
  1199. time that it was thresholded. 
  1200.  
  1201. One application where knowledge of this magnitude is useful, is
  1202. AMTOR ARQ mode. During AMTOR ARQ, blocks of three characters are
  1203. transmitted on each chirp. The receiving station analyzes each of
  1204. the three received characters for a possible error, and when an
  1205. error is detected, it chirps back an RQ reply to the transmitting
  1206. station to repeat the last three-character block. It is possible,
  1207. and even probable when conditions are poor, that the
  1208. retransmitted block may again contain an error. This may result
  1209. in several repeated blocks. It is possible to improve on this
  1210. "blind RQ" method by using memory ARQ.
  1211.  
  1212. If the receiving station uses memory ARQ technique, it would have
  1213. stored the A/D values associated with each and every bit of each
  1214. of the three received characters. When an error is detected in a
  1215. retransmitted block, i.e. after an RQ, an error-correction
  1216. algorithm is then used to compute a "confidence" value for each
  1217. character of the bad blocks (over two or more blocks). 
  1218. Subsequent block reconstruction then follows where a
  1219. reconstructed block is made up from highest confidence elements.
  1220. Such a reconstructed block is then error-tested again. More often
  1221. than not, this results in fewer RQ's. PCTOR will show the actual
  1222. statistics of how its doing. For HF conditions a success rate of
  1223. 10% of received blocks in error, is achievable.
  1224.  
  1225.  
  1226. 6.5 Some frequencies for FEC stations for test purposes
  1227.  
  1228.  
  1229.  
  1230. Logged on: Fri Dec 11 1992 22:25:19 on 8431.5 KHz using PCTOR
  1231. V2.02
  1232.  
  1233.  
  1234. AT+T HIGH SEAS RADIOTELEX BROADCAST FREQUENCIES ARE AS FOLLOWS:
  1235.  
  1236. +++++++++++++++++++++++++++++++++++++++++++++++++
  1237. +    ITU CHAN       COAST-TX    AT+T STATION    +
  1238. +    --------       --------    ------------    +
  1239. +      405           4212.5         WOO         +
  1240. +      412           4215.5         WOM         +
  1241. +      416           4217.5         KMI         +
  1242. +                                               +
  1243. +      626           6326.5         KMI         +
  1244. +      628           6327.5         WOM         +
  1245. +      629           6328.0         WOO         +
  1246. +                                               +
  1247. +      831           8431.5         KMI         +
  1248. +      833           8432.5         WOM         +
  1249. +      834           8433.0         WOO         +
  1250. +                                               +
  1251. +     1303          12630.0         KMI         +
  1252. +     1305          12631.0         WOM         +
  1253. +     1307          12632.0         WOO         +
  1254. +                                               +
  1255. +     1728          16870.0         KMI         +
  1256. +                                               +
  1257. +     1818          19689.5         KMI         +
  1258. +                                               +
  1259. +     2299          22425.5         WOM         +
  1260. +++++++++++++++++++++++++++++++++++++++++++++++++
  1261.  
  1262.  
  1263.  
  1264. WX AND HIGH SEAS INFORMATION SCHEDULED BROADCASTS ARE AS FOLLOWS:
  1265.  
  1266. STATION      WX           INFORMATION
  1267. -------  ------------    --------------
  1268.   KMI    ODD  UTC HR+20   EVEN UTC HR+20
  1269.   WOM    EVEN UTC HR+40   ODD  UTC HR+40
  1270.   WOO    EVEN UTC HR+20   ODD  UTC HR+20
  1271.  
  1272.  
  1273.                                 6.6 Signal analysis module
  1274.  
  1275.  
  1276.  
  1277. Besides the benefits gained by memory ARQ, useful time domain
  1278. signal analysis is possible especially when coming across an
  1279. unknown signal. Time and frequency domain analysis software are
  1280. provided as an external executable program that is accessible via
  1281. a hot key from PCTOR. Acquisition of signal data is then
  1282. initiated and interfacing with the signal processing program is
  1283. relatively smooth and unintrusive. 
  1284.  
  1285. Two graphical displays are shown. One panel shows the actual
  1286. analog signal with its software-thresholded counterpart, the
  1287. other panel shows the frequency domain (RMS power spectrum). A
  1288. software controlled cursor (using the left/right arrow keys),
  1289. allows inspection of power spectral peaks, while different levels
  1290. of magnification of the analog signal is user selectable (using
  1291. the up arrow key). Continuous conversions are performed while the
  1292. ALT key is held down. When the ALT key is up, the present state
  1293. of the graphs are frozen.
  1294.  
  1295. Unfortunately this type of work is only feasible on faster class
  1296. machines. A 386/25 with math co-processor or a 486 processor is a
  1297. pleasure to use. The signal processing software, however, has
  1298. been tested on a 8 Mhz XT without math co-processor where it took
  1299. several minutes to run to completion. Presently only Hercules,
  1300. EGA, and VGA display adapters are supported.
  1301.  
  1302. 6.8 DSP modem
  1303.  
  1304.  
  1305. The advantages of DSP technology was already realized in the
  1306. PCTOR's early days. At that time both hardware and the
  1307. mathematics for applying DSP algorithms was not available.
  1308. Affordable DSP hardware and the development of DSP modem software
  1309. now makes the application of this technology very attractive.
  1310. Besides being more cost-effective than its earlier analog
  1311. counterparts, very high performance is possible. Being software
  1312. upgradable, future developments are made relatively simple.
  1313.  
  1314. The DSP modem firmware available for use with PCTOR is for usage
  1315. on RTTY/ASCII, AMTOR, PacTOR, and HF Packet. The modem hardware
  1316. is based on a TI 320C26 40 MHz and 14-bit codec. Communication
  1317. with the DSP is though the same RS232 port that PCTOR uses. All
  1318. firmware is downloaded to the DSP from the PC host. 6.8 PCTOR upgrade history (since 2.03)
  1319.  
  1320.  
  1321. Version 2.03
  1322.  
  1323. 1) Supports baudot and ascii receive/transmit (baudot has the
  1324. "diddle" feature). This includes the "O" and "P" options in the
  1325. main menu to change modes of operation and transmission speed
  1326. respectively. The PC's UART is used for this purpose and thus
  1327. requires signals be routed to and from the uart appropriately.
  1328.  
  1329. 2) UTC or local time may be optionally be selected. 
  1330.  
  1331. 3) Either word-edit or character keyboard modes may be selected  
  1332. (previously word-edit was standard). See the "K" option in the  
  1333. main menu..
  1334.  
  1335. 4) F4 now also terminates mode-L
  1336.  
  1337. 5) Some minor enhancements and bugs were fixed, i.e.
  1338. - Reading the receive mask incorrectly from the .CNF file,
  1339. - Cleanup of the CR/LF sequence associated with F5 usage,
  1340. - Cleanup of the display when using a DOSSHELL (F8),
  1341. - Better validation of setup parameters from the .CNF,
  1342. - Allow the usage of "?" for help in the main menu.
  1343.  
  1344.  
  1345. 6) Optional software support for a companion modem. This includes
  1346. an analog mark/space tuning display on the PCTOR status line. It
  1347. also allows future development of "soft" error detection and
  1348. correction using "memory ARQ". This development is needed to 
  1349. fully support PACTOR.
  1350.  
  1351. 7) If you are not interested in ascii/baudot operation, no
  1352. changes are needed in your RS232 hardware interface to use
  1353. version 2.03. If you are interested in using ascii/baudot,
  1354. however, please see 3.0 for additional interfacing requirements.
  1355. If you are further interested in using the software tuning
  1356. indicator display feature, the companion modem is required as
  1357. well as a parallel port interface.
  1358.  
  1359. 8) Older versions of PCTOR (pre-1.17) used a terminate stay
  1360. resident (TSR) program, called TORBIOS. PCTOR now incorporates
  1361. all low-level routines previously performed by the TSR.
  1362.  
  1363. 9) ALT-A "spawns" a special module for modulation analysis. This
  1364. involves taking 1024 data samples from the modem's low pass
  1365. filter stage, performing an FFT and displaying both analog and
  1366. frequency domain waveforms. This allows future development of
  1367. analysis of received audio. IMPORTANT NOTICE: Do not attempt this
  1368. function on a 8088 or 80286 type processor - it works but takes
  1369. several minutes to perform the calculations. Only a 386/25 with
  1370. co-processor or a 486/33 can do justice to this analysis. At this
  1371. time, only EGA, VGA, and Hercules compatible displays are
  1372. supported.
  1373.  
  1374. 10) ALT-L "spawns" any program the user wishes to execute when
  1375. this key is pressed. Typically this would be a logging program.
  1376.  
  1377. 11) The log filename and name of the ALT-L user program is
  1378. displayed on the status line.
  1379.  
  1380. 12) There is an option to enable memory ARQ (MARQ) for AMTOR.
  1381. When active, "ERR" is displayed with a green background instead
  1382. of the usual red background when processing error blocks. The
  1383. MARQ algorithm is similar to that used for PACTOR. This first
  1384. level of memory ARQ is based on "hard bits" and will work with
  1385. any modem. It does not require the special modem. Future levels
  1386. of memory ARQ will also make use of "soft bits".
  1387.  
  1388. 13). The help screen "ALT-H" is expanded to include an
  1389. explanation of the different flags associated with various
  1390. options.
  1391.  
  1392.  
  1393.                                         Version 2.04
  1394.  
  1395. 14) ALT-X may now be used for quick exit (tnx SV1BDS).
  1396.  
  1397. 15) Command.com (the dosshell) is now located through the COMSPEC 
  1398. environment variable (tnx SV1BDS).
  1399.  
  1400. 16) All files, i.e. TOR.CNF or *.TOR files are now located 
  1401. through the environment variable "PCTOR" (please see 5.0 for 
  1402. application notes) (tnx SV1BDS).
  1403.  
  1404. 17) Baudot and ascii operations now echo transmitted text to the 
  1405. receive screen.
  1406.  
  1407. 18) Any baudrate not greater than 300 bps is allowed on
  1408. baudot/ascii, however, only integer values must be entered. The
  1409. amateur standard of 45.45 baud is a special case where a baudrate
  1410. of 45 will be interpreted as meant to be 45.45 bps (tnx SV1BDS).
  1411.  
  1412. 19) The delay parameter called TX-DELAY have now been split into
  1413. two parts, TD (transmitter turn-on delay), and CD (control delay)
  1414. (for further details please see section 4.2 on customizing the
  1415. configuration file) (acknowledgement to Bill Henry, K9GWT, QST
  1416. June 1992, p.34-45).
  1417.  
  1418. 20) PCTOR now dynamically locates a free user-interrupt slot in
  1419. the range 60h-67h. Previously 60h was hooked, however this may
  1420. have caused a problem is some instances. If there is none
  1421. available, the user will be notified and prompted, otherwise
  1422. installation will proceed as usual without any intervention.
  1423.  
  1424. 21) The special option indicator symbols on the upper command
  1425. line started crowding the time clock digits, so they were moved
  1426. down a line to the right of the PCTOR logo.
  1427.  
  1428. 22) The machine class (8088/86, v20/30, 80186, 80386/80486) is
  1429. detected at startup. This may be used in future versions of the
  1430. software to customize the time-critical software and available
  1431. options to be run on the hardware.
  1432.  
  1433.  
  1434. Version 2.07
  1435.  
  1436. 23) Bug fixes in the BAUDOT/ASCII typeahead as well as changes to
  1437. the operation of the typeahead buffer in AMTOR. Please note that
  1438. all the keyboard data, the time key (ALT-T), and message buffers
  1439. (ALT-1 thru 9) will now be collected in the typeahead buffer in
  1440. the order that it was entered. This should work out better as you
  1441. will be able to mix text for transmission either from buffers,
  1442. and/or data from the keyboard without first waiting for the other
  1443. to buffer to empty out.
  1444.  
  1445. 24) Printer log feature toggled on/off using ALT-O. 
  1446.  
  1447. 25) All traffic sent using the "send files" (ALT-F) will now also
  1448. be logged to disk.
  1449.  
  1450.  
  1451.                                        Version 2.08/9
  1452.  
  1453. 26) Bug fixes associated with typeahead when ALT-B was used.
  1454.  
  1455. 27) Bug fix in exception handler associated with printer OFFLINE.
  1456.  
  1457. 28) F4, when used in ASCII/BAUDOT will terminate transmission
  1458. only when the typeahead buffer is empty.
  1459.  
  1460.  
  1461. Version 2.11
  1462.  
  1463. 29) Does not require that DTR be connected any more. All data
  1464. output is now routed through TD.
  1465.  
  1466. 30) Special embedded control characters  and  controls the PTT.
  1467. When using these, a submitted buffer will take control of the
  1468. PTT. For an example, please see "test.tor".
  1469.  
  1470.  
  1471. Version 2.12
  1472.  
  1473. 31) When a user backspaced over more than one word in the
  1474. typeahead buffer, "WORD MODE" got confused. This bug was fixed as
  1475. well as cleaning up backspacing back to previous lines.
  1476.  
  1477.  
  1478. Version 2.13 
  1479.  
  1480. 32) Fix "getting one behind" during buffer load. Don't backspace
  1481. when buffer is empty.
  1482.  
  1483.  
  1484. Version 3.00
  1485.  
  1486. 33) Introduce color user-definable color scheme.
  1487. 34) Scroll back receive data area via disk file
  1488. 35) Output signal via BOTH TxD and DTR; DTR with usual            
  1489. OUTMASK option.
  1490.  
  1491.  
  1492. Version 3.01/2
  1493.  
  1494. 36) F8 should not use closeall, but close logfile only.
  1495. 37) After ALT-P, restore operating mode
  1496. 38) It appears that INMASK settings that inverts DTR also
  1497. inhibits, BAUDOT/ASCII. Reset DTR setting for Baudot/ASCII
  1498.  
  1499.  
  1500. Version 3.03
  1501.  
  1502. 39) ALT_M to access DSP modem control
  1503. 40) Sort *.tor buffers alphabetically
  1504. 41) ALT_S sends a file continuously
  1505. 42) ALT_Y shells out to Baycom
  1506. 43) ALT_D to toggle RTTY diddle
  1507. 44) Two-page help screen
  1508. 45) Remove INMASK/OUTMASK options
  1509.  
  1510. Version 3.03c
  1511.  
  1512. 46) Restore the operating after returning from PC-PACTOR, i.e.   
  1513. after usage of ALT-P.
  1514. 47) Message buffers now sorted alphabetically. 
  1515. 48) RTTY diddle control. Selectable in the configuration file,  
  1516. toggled using the ALT-D key.
  1517. 49) ALT-P hot keys to PC-PACTOR.
  1518. 50) ALT-Y hot keys to Baycom (note: Baycom is a copyrighted  
  1519. program by DL8MBT and DG3RBU - it is not supplied as part of  
  1520. the PCTOR package).
  1521. 51) For users of the DSP modem, ALT-M brings up the DSP modem  
  1522. submenu. The user can select a modem of RTTY, AMTOR, PacTOR, or
  1523. HF Packet.
  1524. 52) ALT-S sends a file continuously.
  1525. 53) Receive-only operation. This is selected from the command
  1526. line by inluding /R. 6.9 Newsletter December 1992
  1527.  
  1528.  
  1529.  
  1530. With 1992 drawing to a conclusion, it may be worthwhile to
  1531. reflect on some things accomplished with PCTOR and contemplate
  1532. future milestones. 
  1533.  
  1534. This newsletter will concentrate on the origins of PCTOR its
  1535. present status, and some thoughts on where things will be going
  1536. in the near future. 
  1537.  
  1538. For those not too familiar with the software - PCTOR is a
  1539. complete communications package for the PC or close compatibles.
  1540. Its main purpose was to encode/decode AMTOR (SITOR) using the
  1541. PC's on-board hardware in conjunction with a simple external HF
  1542. modem, however rtty modes are now also supported. The interface
  1543. with the HF modem is through a COM port. A hardware TNC is thus
  1544. not required as all decoding is performed in software right on
  1545. the PC. PCTOR is available from the library 6 area of the HamNet
  1546. forum on CompuServe.
  1547.  
  1548. PCTOR has grown and undergone several revisions over the past
  1549. year. Presently version 2.03 is the latest. The user base has
  1550. also grown over the past year and support has come from all over
  1551. the world. I am extremely grateful for your interest and support.
  1552. As to all those suggestions and bug reports from users - your
  1553. contributions have been valuable. Some of your ideas have since
  1554. been implemented, others are in the queue.
  1555.  
  1556. By time that you receive this newsletter, a pre-release of my
  1557. PACTOR program for the PC will be available. This version of
  1558. PACTOR is for decoding and reading of PACTOR traffic and will
  1559. automatically decode 100/200 baud ascii or Huffman text on-the-
  1560. fly. This includes PACTOR "ARQ" and "UNPROTO" modes. Please check
  1561. CompuServe HamNet library area 6 or send me a formatted disk and
  1562. SASE mailer for a free Shareware copy.
  1563.  
  1564. 6.8.1 PCTOR - some history.
  1565.  
  1566.  
  1567.  
  1568. During 1978 I met Alan G3RSP/MM, who was maritime mobile on a
  1569. tanker en route to the Persian gulf. I was then involved in
  1570. operating an rtty SELCAL station at that time with the call
  1571. ZS1HF. We had many interesting QSO's on every occasion that his
  1572. ship sailed around the Cape of Good Hope. As a result of these
  1573. contacts, I was introduced to Peter Martinez, G3PLX and his early 
  1574. AMTOR developments. At that time, there was only G3PLX and G3YYD
  1575. on HF, with Alan using the ship's radio to communicate with Peter
  1576. on AMTOR.
  1577.  
  1578. Fortunately for me, I was using the same type of microprocessor
  1579. chip that Peter was using - the Motorola M6800. Peter supplied
  1580. the source code for AMTOR and with some further work, I was able
  1581. to decode AMTOR on my homebrew 6800 computer. Everything needed
  1582. to be made yourself - the modem, the decoder, and of course the
  1583. modifications to the HF transceiver to improve changeover time.
  1584. By the time that I had my first AMTOR QSO, I was ranked amateur
  1585. number 15 or so on HF AMTOR - just an indication how fast things
  1586. were happening.
  1587.  
  1588. My own experimental efforts amounted to a single board system,
  1589. complete with filter-type modem and tuning display. This system
  1590. could handle baudot, ascii (at various rates), CW with automatic
  1591. speed tracking, and AMTOR mode A, B and L. I called it a
  1592. universal communications processor (UCP). Details were published
  1593. for an amateur club project, however few systems were actually
  1594. built. This system served my needs very well for several years
  1595. and was a test bed for exploring many new ideas.
  1596.  
  1597. During 1983 I came to Oregon as a visiting scientist, wrote the
  1598. FCC examination, got my ticket and in due course as KC7WW, was
  1599. listening for AMTOR. I subsequently met Bill, K4PA, who was
  1600. experimenting with AMTOR as well, imagine - on a KIM
  1601. microprocessor system! Bill supplied all the specifics on getting
  1602. the necessary FCC permission to operate AMTOR in the USA. At that
  1603. time this involved obtaining special temporary authority (STA). 
  1604.  
  1605. It was about 1984 that I learned of Paul, AD7I's Z-AMTOR, and
  1606. shortly after that commercial developments from AEA and others.
  1607. The publication of several technical articles followed.  The
  1608. introduction of the multi-mode TNC as a black box appliance
  1609. introduced many new enthusiasts to the world of digital
  1610. communications.
  1611.  
  1612. During 1990 I started translating the M6800 code to 8088 Assembly
  1613. language. The old hardware M6800 was just too cumbersome and
  1614. inflexible to compete with the ubiquitous PC. Making AMTOR work
  1615. on the PC's hardware was a challenge to say the least. With
  1616. modern software tools, however, things became easier to debug
  1617. than development work on the old embedded system.
  1618.  
  1619. The first release of PCTOR was version 1.03, which was uploaded
  1620. to CompuServe Hamnet library 6 during October 1991. It has been
  1621. updated several times since then.
  1622.  
  1623. It is with fond memories that I think of the early days. I am
  1624. indebted to those that helped me along the way - in appreciation
  1625. to the memory of Irv Hoff from whose work I learned about HF
  1626. modems and much appreciation to Peter Martinez who shared the
  1627. secrets of making AMTOR possible on a microprocessor. 
  1628.  
  1629. 6.8.2 The present status of PCTOR
  1630.  
  1631.  
  1632.  
  1633. PCTOR consists of two major components: a low-level interface
  1634. that handles critical timing at the hardware level, and a user
  1635. interface. Previously the low-level interface and user interface
  1636. was implemented as two separate modules, combining them made a
  1637. lot of sense and simplified things for new users. 
  1638.  
  1639. The user interface follows the split screen format of operation 
  1640. that has become standard for this kind of communications
  1641. operations. Data received through the software decoder is
  1642. displayed in the upper window while the operator's keyboard
  1643. entries are displayed in the lower window. In AMTOR mode, the
  1644. display of characters on the upper display is actually an echo of
  1645. what is being received at the remote station. This feedback helps
  1646. an operator judge the state of a link - how well the flow is
  1647. progressing, what has been sent already and what else is still
  1648. waiting to be sent. This is one of the built-in characteristics
  1649. of AMTOR.
  1650.  
  1651. Two status lines keeps the user informed of real-time operational
  1652. status of the digital translator. The main status line is on the
  1653. very top of the display. It shows, besides the link status, other
  1654. useful parameters such as path propagation delay, current
  1655. callsign and selcal, and the current status of some
  1656. user-controlled flags such as unshift-on-space (UOS), 
  1657. upper/lower case operation, and high reliability. The latest
  1658. symbol that has been added is "δ", that is used to indicate
  1659. whether "memory ARQ" is active or not. More about this feature
  1660. later.
  1661.  
  1662. The real-time clock on the upper status line may now be
  1663. programmed in either local time or UTC.
  1664.  
  1665. Part of the upper status line and a small portion of the upper
  1666. split screen display is used for an on screen tuning indicator.
  1667. This option is available only when a special modem is used with
  1668. PCTOR. Details on this modem follow in the text below.
  1669.  
  1670. The lower status line is located between the upper text display
  1671. area and the lower text display area. It contains the name of the
  1672. user's log file, logging program's name, and shows the current
  1673. size of the user's keyboard buffer, i.e. the number of characters 
  1674. in the type-ahead buffer. This logging program is a new feature
  1675. that was added to allow for the execution of a user-specified
  1676. program when ALT-L is pressed. This allows ready access to a
  1677. logging program via a hot key from PCTOR while the decoder
  1678. remains running in the background. The user, however, has to
  1679. supply his own logging program.
  1680.  
  1681. A general "help" function is available through the ALT-H key
  1682. where function key assignments, as well an explanation of the
  1683. indicator symbols are given.  
  1684.  
  1685. In addition to AMTOR modes ARQ, FEQ, and "listen", ascii and
  1686. baudot is now also supported at 45.45, 50, 75, and 110 baud.
  1687. Please note that in order to use ascii and baudot, additional
  1688. interface wiring is required.
  1689.  
  1690. To further simplify operations, a pop-up menu system allows the
  1691. user to change some functional parameters on-line. This pop-up
  1692. menu system is complete with its own help function where all
  1693. available features that may be accessed through the pop-up menu
  1694. are listed. The latest additions to this menu are "O" and "P"
  1695. options that allows the toggling between AMTOR, baudot, and ascii
  1696. modes, and alters the baud rate for baudot or ascii modes of
  1697. operation.
  1698.  
  1699. In order to customize the state of options and other special
  1700. items, a user-prepared configuration file is read when PCTOR
  1701. starts up. The most recent keywords that have been added are
  1702. LOGPROG, REFR, TUNING, WORD, and MARQ. LOGPROG allows the
  1703. specification of the user's logging program. REFR sets the
  1704. refresh rate of the status displays. TUNING activates the
  1705. on-display bargraph tuning displays. WORD enables word-edit
  1706. keyboard entry mode. MARQ activates the memory ARQ algorithm.
  1707. Some of these features have been requested by users. Please note
  1708. that TUNING and MARQ assumes that special hardware is present in
  1709. the user's modem. More about this later in this newsletter.
  1710.  
  1711. Further general features are available. Off-the-air received
  1712. traffic may be captured in a text file. Automatic and manual
  1713. identification and time-stamping facilities are provided. Sending
  1714. of text files over the air is possible in all modes, recalling of
  1715. canned buffers, i.e. CQ call, or brag tape, for transmission, at
  1716. a keystroke.
  1717.  
  1718. PCTOR supports the APlink protocol for full upper and lower case
  1719. ascii. This is based on the "PLX"-method of upper/lower case with
  1720. extensions as developed by Victor Poor (W5SMM).
  1721.  
  1722. A "high" reliability option is included to improve received data
  1723. integrity beyond the 3/4 (zeroes/ones) ratio test used in AMTOR.
  1724.  
  1725. The Unshift-on-space (UOS) option have been available in earlier
  1726. versions of PCTOR. It is particularly useful for baudot
  1727. operation. This option switches the baudot case shift to upper
  1728. case at the reception of a space character. Baudot is
  1729. particularly prone to noise and often ends up in the wrong
  1730. letter/figs case shift. UOS, resets the case to letter shift each
  1731. time a space character is received. Based on the general
  1732. assumption that a space character is mostly used to separate
  1733. words, letter case is assumed. This method more often than not
  1734. will allow better print under adverse conditions. Do not be
  1735. concerned with all this case shifting if it does not make
  1736. sense.It really comes from an earlier era of mechanical
  1737. teleprinters. Most of these issues are now handled by the
  1738. software anyhow.
  1739.  
  1740. Baudot operators have all sorts of tricks to "help the print
  1741. along", especially when conditions are marginal. The baudot
  1742. "diddle" is one of them. This amounts to sending "idle"
  1743. characters when the keyboard buffer is empty. These idle
  1744. characters are carefully chosen to be either the ITA2 characters
  1745. letter, figures, or in some cases "blank". PCTOR uses diddle in
  1746. baudot mode.
  1747.  
  1748. As mentioned above, a new modem with special features has been
  1749. under development for usage with PCTOR. This development was
  1750. essential to support new modes such as PACTOR. At the same time,
  1751. however PCTOR's performance was enhanced through the use of
  1752. sophisticated digital signal analysis. This modem is not a
  1753. digital signal processing unit, however it is quite sophisticated
  1754. and a good performer. The hardware lineup consists of a
  1755. highpass/lowpass front end, bi-quad discriminator, active
  1756. rectification, and low pass filter optimized for 200 Hz
  1757. modulation rate. An 8-bit A/D convertor is included that is used
  1758. by the software for analyzing recovered modulation signal in the
  1759. memory ARQ algorithm. A ten element bargraph display is provided
  1760. as a tuning indicator. Further details of the modem, and its
  1761. availability in kit form, will be published shortly.
  1762.  
  1763. Memory ARQ is an algorithm for intelligent error correction
  1764. during ARQ (PCTOR has an option that allows AMTOR to make use of
  1765. it as well). Briefly, during reception of AMTOR data blocks, the
  1766. algorithm saves not only logical states of bits from the modem's
  1767. slicer stage, but also saves the actual magnitude of the
  1768. recovered modulation signal levels associated with each bit. This
  1769. additional information thus indicates a confidence level
  1770. associated with each logic level. When two or more blocks are in
  1771. error, the algorithm proceeds to examine the confidence levels of
  1772. individual bits for possible "reconstruction" of a good block
  1773. from erroneous blocks. The actual details of the algorithm is
  1774. somewhat more complex than this brief introduction. 
  1775.  
  1776. Besides the benefits gained by memory ARQ, useful time domain
  1777. signal analysis is possible especially when coming across an
  1778. unknown signal. Time and frequency domain analysis software are
  1779. provided as an external executable program that is accessible via
  1780. a hot key from PCTOR. Acquisition of signal data is then
  1781. initiated and interfacing with the signal processing program is
  1782. relatively smooth and unintrusive. 
  1783.  
  1784. Two graphical displays are shown. One panel shows the actual
  1785. analog signal with its thresholded counterpart, the other panel
  1786. shows the frequency domain (RMS power spectrum). A software
  1787. controlled cursor (using the left/right arrow keys), allows
  1788. inspection of power spectral peaks, while different levels of
  1789. magnification of the analog signal is user selectable (using the
  1790. up arrow key). Continuous conversions are performed while the ALT
  1791. key is held down. When the ALT key is up, the present state of
  1792. the graphs are frozen.
  1793.  
  1794. Unfortunately this type of work is only feasible on faster class
  1795. machines. A 386/25 with math co-processor or a 486 processor is a
  1796. pleasure to use. The signal processing software, however, has
  1797. been tested on a 8 Mhz XT without math co-processor where it took
  1798. several minutes to run to completion. Presently only Hercules,
  1799. EGA, and VGA display adapters are supported.
  1800.  
  1801.  
  1802.  
  1803. 6.8.3 Future developments
  1804.  
  1805.  
  1806.  
  1807. The modem development is in final stages of printed circuit
  1808. layout. The details will be appearing shortly in one of the
  1809. amateur or electronic hobbyist journals. A kit of parts will be
  1810. also offered.
  1811.  
  1812. There has been several requests for PACTOR capability. This will
  1813. be the next major upgrade. Although I have been experimenting and
  1814. testing PACTOR, the special modem was required to implement true
  1815. memory ARQ. Without the A/D convertor addition, true memory ARQ
  1816. is not possible, regardless of what you may have been told by
  1817. others. If you have wondered of what PACTOR is like - my
  1818. experience has been that it is really fun to operate when
  1819. conditions are good. If you have ever tried HF packet, PACTOR is
  1820. a great improvement. However, when conditions are marginal,
  1821. performance degrades rapidly, delays become uncomfortably long,
  1822. and not even memory ARQ seem to be of much use. This is where you
  1823. wish that it could have reverted to AMTOR. I am of the opinion
  1824. that it may become popular with some higher powered
  1825. traffic-handling stations. This is, however, my own opinion.
  1826.  
  1827. Several requests were for the inclusion of embedded control
  1828. functions in text files. For example: a user wants to send an
  1829. automatic CQ while contesting: A text file is prepared that
  1830. contains the body of the CQ message including some special
  1831. control functions. The text file is submitted for transmission in
  1832. a similar same way than a buffer message is sent. The following
  1833. pseudocode shows the procedure.
  1834.  
  1835.  
  1836.  
  1837. Script submission for automatic transmission
  1838.  
  1839. 1)  START:
  1840. 2)        <initiate FEC transmission>
  1841. 3)        CQ CONTEST DE KC7WW KC7WW (KCWW)
  1842. 4)        CQ CONTEST DE KC7WW KC7WW (KCWW)
  1843. 5)        AR PSE ARQ KN
  1844. 6)        <terminate FEC transmission>
  1845. 7)        <wait for an ARQ link (timeout=30 seconds)>
  1846. 8)        <if it timed out> go back to START
  1847. 9)        <cancel automatic mode and enter normal keyboard mode>
  1848.  
  1849. Note: F7 flushes the text buffer, F10  forces standby mode.
  1850.  
  1851. This simple example shows several kinds of control symbols, i.e.
  1852. LABELS, start/stop FEC transmission, and wait with timeout - a
  1853. branch address for timeout is supplied. A small language set to
  1854. support some of PCTOR's built-in features will be developed. The
  1855. script will be parsed for syntax and semantics before actual
  1856. submission occurs.
  1857.  
  1858.  
  1859. There have been several requests for running PCTOR in a
  1860. multitasking environment. This is of course possible, given that
  1861. PCTOR has guaranteed one millisecond interrupt rate for low level
  1862. services. Although this timing requirement hardly impacts
  1863. performance on a 386 or 486 type machine, it is unfortunate that
  1864. some of the popular multitaskers require the same hardware that
  1865. PCTOR uses for their pre-emptive scheduling. In the end someone
  1866. usually looses out. Windows 3.1 on the other hand, being a
  1867. co-operative multitasker, does tolerate this kind of intervention
  1868. but is not considered "well behaved". It is uncertain what future
  1869. versions of Windows will allow. It will be logical to develop a
  1870. DLL that contains the low level services as an embedded device
  1871. driver that will guarantee such high priority interrupts. The
  1872. PCTOR user interface will then be using the familiar Windows CUA
  1873. format.
  1874.  
  1875. I apologize for the inadequacies of the documentation, especially
  1876. for newcomers to the digital modes. It is my impression that most
  1877. new users either had some earlier experience with AMTOR, or was
  1878. very knowledgeable and capable of putting together all the
  1879. required bits and pieces. There appears to be a lack of the
  1880. basics for AMTOR, but also what these signals sound like. So,
  1881. this is perhaps one area that hopefully could be improved. It
  1882. also appears that a complete bibliography for reference purposes
  1883. would be helpful.
  1884.  
  1885. The inclusion of more digital signal processing is a possibility.
  1886. Not only could we benefit from noise reduction algorithms but
  1887. also from DSP modems that has been tailored for optimum
  1888. performance. This approach uses software to adapt filter
  1889. parameters and usually results in really sharp filters. An
  1890. external dedicated DSP approach, or perhaps a low-cost sound
  1891. board could be used. This kind of development is very
  1892. challenging, yet holds promise for the future. 
  1893.  
  1894. The baudot and ascii mode presently lacks "autostart" and "anti-
  1895. space" facilities. If anyone is interested in these features,
  1896. digital equivalents are possible that works quite well.
  1897.  
  1898. Work on PCTOR has always been a challenge and very rewarding. The
  1899. order that features are implemented is dictated mostly by what
  1900. available time I have at hand, the hardware requirements, and
  1901. often doing the fun things first. A lot of time is also spent on
  1902. improving things, often fine tuning the time-critical parts, or
  1903. fixing irritating bugs.
  1904.  
  1905. Should there perhaps be something that you consider needing
  1906. attention, please let me know and we can see what could be done
  1907. about it. 
  1908.  
  1909. To contact me, you may leave an e-mail message for me on
  1910. CompuServe (70730,3472), or leave a message at WA8DRZ via packet
  1911. or Aplink. 
  1912.  
  1913.                 KC7WW @ WA8DRZ.#NOCAL.CA.USA
  1914.  
  1915. If all else fails - write to me at the address below.
  1916.  
  1917. 6.10    1993 Newsletter
  1918.  
  1919.  
  1920. This newsletter is to update registered users and those
  1921. interested in PCTOR and PC-PACTOR on developments during 1993.
  1922. Some background will be discussed and future trends also
  1923. presented.
  1924.  
  1925. I thank those from whom I have heard over the past year. Your
  1926. contributions and support are always greatly appreciated.
  1927.  
  1928.  
  1929.  
  1930.        ┼ This issue of the newsletter is dedicated in memory
  1931.        of Pim Woest, PA3AGG. Pim was one of the first to
  1932.        experiment with PCTOR - he became a silent key on
  1933.        January 31st, 1993. We will miss him.
  1934.  
  1935.  
  1936.  
  1937. Newsletter Summary:
  1938.  
  1939. 1. PCTOR
  1940. 2. PC-PACTOR
  1941. 3. HF Modem Developments
  1942. 4. Future Enhancements
  1943.  
  1944.  
  1945.  
  1946. 1. PCTOR
  1947.  
  1948. What is it? For those not too familiar with the software: PCTOR
  1949. is a complete amateur radio communications package for the PC or
  1950. close compa-tibles for operating AMTOR (SITOR), RTTY, and ASCII.
  1951. An external HF modem is required to convert received audio to COM
  1952. port signals (RS232 levels). As decoding is performed in software
  1953. right on the PC, there is no need for a hardware TNC.
  1954.  
  1955. The 1992 newsletter covered software up to version 2.03 (included
  1956. in PCTOR documentation). PCTOR has grown and undergone several
  1957. revisions over the past year. Versions 2.04 - 2.08 included
  1958. several bug fixes and improvements for a cleaner interface with
  1959. DOS. 
  1960.  
  1961. When the HF analog modem, AN-93, became available, memory ARQ for
  1962. AMTOR and an on-screen tuning display, was added (please see
  1963. section 3 on: HF modems). 
  1964.  
  1965. Version 3.0 introduced a scrollable receive display and user-
  1966. definable screen colors. 
  1967.  
  1968. Version 3.03 is currently under development. It includes support
  1969. for a new DSP modem and allows "hot keys" to operate PC-PACTOR or
  1970. HF packet from PCTOR. Additional features for customization of
  1971. the startup file includes selection of the operating mode and
  1972. baud rate. For SWL listeners, transmit features may now be
  1973. disabled and the receive screen extended to fully use the
  1974. additional display lines.
  1975.  
  1976. There has been considerable confusion over which RS232 signals
  1977. are used to transmit data. This came about in an effort to
  1978. simplify the hardware interface: It was found that AMTOR could
  1979. use the "break" mechanism to send data through the "Td" line.
  1980. This simplified the interface to four lines, i.e. Rd/DCD - for
  1981. input signals, and Td/RTS for output signals. Unfortunately, this
  1982. did not work with some older serial ports. For compatibility
  1983. sake, both Td and DTR was then made available for data output.
  1984. When the DSP project came along, DTR was needed for DSP control.
  1985. That is why version 3.03 now only supports serial ports that can
  1986. switch data fast enough through Td.
  1987.  
  1988.  
  1989. 2. PC-PACTOR
  1990.  
  1991.  
  1992. What is it? PC-PACTOR is a program for the PC to decode, read and
  1993. transmit PACTOR traffic. It will automatically decode 100/200
  1994. baud ASCII or Huffman-compressed text.  
  1995.  
  1996. Version 0.03 was released in December 1992 for monitoring PacTOR
  1997. traffic only. I have since had a lot of requests for a full
  1998. transmit version of the program. The current version of PC-PACTOR
  1999. is 0.16 and includes the ASCII FEC transmit capability, traffic
  2000. logging and file transmission. Version 0.20 is presently under
  2001. development for full ARQ capability. 
  2002.  
  2003. I do ask your patience as there are some major implementation
  2004. issues to be solved. First is to achieve the 15ppm timing
  2005. requirement. The PC clock was never designed for this kind of
  2006. accuracy. 
  2007.  
  2008. PacTOR is based on a proprietary standard developed by SCS,
  2009. Germany. In order to receive support from SCS, a license fee has
  2010. to be paid. Presently, this is why all other amateur radio
  2011. implementations of PacTOR are licensed. SCS, however, gave
  2012. permission to develop a Shareware version but indicated that no
  2013. support would be available. 
  2014.  
  2015. Things went fairly smooth during development until it became
  2016. clear that there are a number of undocumented exceptions that
  2017. needed clarification. To date I have not been able to obtain all
  2018. the necessary details from SCS to resolve these outstanding
  2019. issues. I will persist, however, in pursuing these on my own,
  2020. though it may take a little longer.
  2021.  
  2022. Please note that version numbers below 1.00 indicates
  2023. "experimental" status and should be considered that.
  2024.  
  2025. 3. HF Modem Developments
  2026.  
  2027.  
  2028. Due to numerous requests for a simple yet good performing HF
  2029. modem for use with PCTOR and PC-PACTOR, the AN-93 was developed.
  2030. The design is a conservative active filter approach using 170 Hz
  2031. shift with 2125/2295 Hz tones for data rates to 200 baud. The
  2032. unit is intended for direct FSK operation. The computer interface
  2033. is through a serial port that is compatible with PCTOR.
  2034.  
  2035. A 10-segment bargraph display is provided for tuning purposes. In
  2036. addition, an A/D convertor is provided that samples recovered
  2037. modulation for  implementation of soft memory ARQ by the PC. In
  2038. addition, the A/D signal is used for an on-screen tuning display.
  2039. The A/D convertor interfaces to the PC through a parallel port
  2040. interface.
  2041.  
  2042. To those interested, there still remains a few AN-93 kits still
  2043. at $135 plus postage.
  2044.  
  2045. A considerable amount of effort was spent on studying DSP math,
  2046. algorithms, and hardware. This led to the development of a
  2047. prototype DSP unit for HF digital. A small production of these
  2048. units followed. This was known as the DSP-100 project. Although
  2049. an excellent performer, the unit proved to be overly complex and
  2050. expensive. After all, it appears that the software TNC approach
  2051. is attractive because of its low cost.
  2052.  
  2053. Further DSP developments using a $99 evaluation module from Texas
  2054. Instruments, called the "DSK" (DSP Starter's Kit) proved very
  2055. promising. The DSK is based on a 40 MHz 320C26 DSP chip and
  2056. includes a 44kHz, 14 bit A/D convertor. 
  2057.  
  2058. DSP applications developed for PCTOR now includes high
  2059. performance HF modems for RTTY, AMTOR, PacTOR, and HF packet. The
  2060. DSK shares the serial port with PCTOR. User-selected modems are
  2061. downloaded from the PC to the DSK's on-chip memory at a 115200
  2062. baud.
  2063.  
  2064. Some valid concern has been expressed about the "delay"
  2065. introduced by such a DSP and subsequent timing issues. This delay
  2066. time is known as "group delay" and is the due to the time taken
  2067. for digital data to ripple through the DSP's shift registers. I
  2068. have measured this delay to be approximately 7mS longer than the
  2069. AN-93. This has not yet proved to be a problem for me, but if it
  2070. does, there are ways to reduce the group delay.
  2071.  
  2072. Which is better - the AN-93 analog or the DSP unit? A unit such
  2073. as the AN-93 is very good at what it is designed for, however,
  2074. when attempting to make it work at too wide a range of baud
  2075. rates, some compromise is necessary. In such a case, versatility
  2076. is often traded for ultimate performance. The DSP algorithms on
  2077. the other hand, are customized for the application at hand and is
  2078. expected to deliver uncompromized performance. 
  2079.  
  2080. The implementation of very efficient filters is a further
  2081. advantage of the DSP approach. The modems used in this
  2082. application uses 80th order FIR filters, has outstanding
  2083. selectivity, and good dynamic range. 
  2084.  
  2085. It is expected that in time, further digital modem code will
  2086. become available in conjunction with yet newer modes. All that
  2087. would be required is new DSP code and decoding software on the
  2088. PC.
  2089.  
  2090.  
  2091.  
  2092. 4. Future enhancements
  2093.  
  2094.  
  2095. The most-requested enhancement appears to be for a full PacTOR
  2096. implementation. This will receive very high priority.
  2097.  
  2098. The script processor for PCTOR remains to be further developed.
  2099. This feature will allow the user to embed control characters in
  2100. submitted text. These control characters will allow execution of
  2101. "test and branch" dependant on internal status variables and
  2102. allow "looping" constructs. This would allow special operations,
  2103. such as needed for contest mode.
  2104.  
  2105. Both hardware and software developments using DSP will continue.
  2106. The DSK code may eventually be ported to a PC Soundcard as DSP-
  2107. based Soundcard technology reaches maturity. There already are
  2108. innovative applications for CW, SSTV, and WEFAX for Soundcards.
  2109. The prohibitive cost of development software remains a problem.
  2110. The DSK will be used in the meantime.
  2111.  
  2112. There are plans for development of a new mode based on ideas from
  2113. MIL-STD-188-110. The new mode is expected to fill the need for
  2114. more robustness than PacTOR with data between 75 and 300 bps
  2115. suitable for HF networking. DSP modems will be used to implement
  2116. m-ary modulation at low baud rate, higher bit rates are achieved
  2117. by transmission of multiple bits per baud. This new mode will
  2118. rely on error-correction techniques to achieve coding gain and
  2119. robustness. 
  2120.  
  2121. A draft of specifications will be available in the near future
  2122. and will be submitted to various peer forums for input. Those
  2123. interested in participating on this project, please contact me. 
  2124.  
  2125. 7.0 Disclaimer
  2126.  
  2127.  
  2128.  
  2129. The author, Johan Forrer KC7WW is not responsible for any damage,
  2130. injury, loss of profit or gain associated with the use,
  2131. installation, or application of this software. 
  2132.  
  2133.  
  2134.  
  2135. November 1993
  2136. J.B.Forrer KC7WW
  2137. 26553 Priceview Drive
  2138. Monroe, OR 97456
  2139. United States of America
  2140.  
  2141.  
  2142.  
  2143. e-mail: forrerj@FRL.orst.edu
  2144. CompuServe: 70730,3472