AMTOR56 and PACTOR56: N1OWU's port of KC7WW's PC-PACTOR and PCTOR programs for the 56002 EVM. Doug Braun N1OWU dbraun@ichips.intel.com Version 0.9 7/31/97 These files (TOR56.ZIP) contain the source code, executables, and supporting files for the programs AMTOR56 and PACTOR56. These programs allow you to use a PC and a 56002 EVM board to work the AMTOR and PACTOR data modes. All the code here is originally written and copyrighted by Johan Forrer, KC7WW. WARNING: This is an alpha-quality release of this package. The following problems (at least) exist: 1: The PACTOR56 program cannot establish a PACTOR connection. 2: The documentation is very out-of-date. 3: There is still a lot of "dead" code. 4: There are many misleading comments in the code. 5: The configuration files have many unused parameters. You are welcome to try to fix any of these problems, epsecially #1 above. If you plan to do any hacking on this stuff, I recommend that you get the Johan's original code (TORLIB.ZIP) from ftp.tapr.org. Here are some of the more interesting files in this package: *.cpp *.hpp *.asm makefile The source code. pactor56.exe amtor56.exe The programs themselves. pactor56.cnf amtor56.cnf The configuration files for the programs. modems\*.* The modem source code (for the EVM). pctor.doc torlib.txt What little documentation there is. To run these programs do this: 1: Edit the configuration files. Make sure to change the call signs and IDs to your own. Also set the COM parameter to the COM port that your EVM is connected to. The TXD parameter should also be checked. Note that almost all other hardware-related configuration parameters are not used and can be ignored. 2: Check the EVM modem program (tor2.asm) and make any changes required for it to properly interface to your radios. Note that the program requires the AlefNull Leonid BIOS. 3: Download the modem program (tor2.lod) to your EVM (along with Leonid). 4: Start PACTOR56.EXE or AMTOR56.EXE. 5: To monitor AMTOR or PACTOR transmissions, hit the F6 key. I run these program from a DOS window in Windows 95, on a fast (200MHz) PC. If you are running native DOS, a much slower PC would probably work. The main speed limitation is that the programs must be able to handle a 1000 bytes/second full-duplex data stream to and from the modem. Notes for would be code hackers: I have compiled everything with Borland C++, version 3.1. Each program is architected like this: The assembly-language code handles the serial port interrupts and the basic protocol decoding. The C++ code does the user interface part. AMTOR56 has a rather complicated jump-table system to interface between the assembly and C++, while PACTOR56 does it in a somewhat more straightforward way. The assembly language and the C++ portions basiclly run as seperate co-routines (sort of like threads), each with their own stack. The interface between these programs and the EVM goes like this: Every millisecond, the EVM sends a data byte (-128 to 127) from its serial port to the PC. The host program interprets the byte, and replies with an "opcode" byte that tells the EVM to either transmit a mark, space, or nothing for the next millisecond. Note that the timing of the whole system is derived from this data rate, which is controlled by the EVM. For more details look at the PC and EVM assembly-language code. Note that the serial port baud rate is Leonid's "standard" 19200. One advantage of this protocol is that the normal EVM 2-wire serial interface can be used, and no rewiring is necessary to provide a separate PTT signal. Good luck. Let me know if you have any questions, but please at least look at Johan's original code before asking too many simple questions. If you live this stuff and want to take over maintenance of it, let me know, beause I am too busy to put a lot of time into it these days... Doug N1OWU