Set-up in DOS.
As it is our first goal, DIGI_NED runs in DOS on cheap 286 class PC's (or better) and on Linux using all kind of modems, from cheap BayCom/BayPack and YAM modem to KISS TNC's and SCC cards.
Due to the fully different architecture of DOS and LINUX both operationg systems need a different approach. For the DOS environment we choose for the use of a TSR. This TSR takes care of the AX25 protocol-side of the digi.
DIGI_NED makes use of a TSR program that drives the modems etc. This program is AX25_MAC. MAC is an abbreviation for Medium Access Control which is a common name in protocol software for the part driving the hardware. You always need to run this TSR when using the DOS version of DIGI_NED, without this TSR present DIGI_NED will refuse to start.
This AX25_MAC is a MAC layer for AX.25. What it does is take raw frames of data, add a CRC and transmit as a HDLC packet to the hardware. Read frames are, when the CRC is correct, passed on in raw form to the program that uses the MAC layer. There is no intelligence in the MAC layer, it will transmit everything that is fed to it.
AX25_MAC must be loaded into memory using parameters as also used for the TFPCX program. In 'run.bat' an example is given for the BayCom style 1k2 modem I use for testing.
In short the parameters:
Usage: AX25_MAC [ -N ] [ | -U ]
||-N = no messages|
-U = unload
|| = optional|
| = alternative
x = hex digit
n = dec digit
||-P[:xxx:nn:nnnn] = packet port [addr:IRQ:]|
-Bnnnn[:nnnn ...] = baud rate (1 number/port)
-F[file] = read init file
-D = debug mode
-C[xx] = show DCD [color]
-Ixx = AX25_MAC interrupt
-L = interLock - one TX at a time (only for half-duplex ports)
-BU[nnnn] = number of buffers
||COMn | LPTn | PARn | YAMn | BPQnn | KISSn | DSCC | OSCC | USCC|
(n = 1-4, for BPQ n= 60-80)
||0 = disable |
2 = hardclock
4 = PA0HZP port
1 = softclock
3 = DF9IC modem
5 = PA0HZP timer
This overview is also presented when invoking AX25_MAC the following way:
Parameters for configuring and adjustment to the used hardware are the same as for TFPCX. The documentation (English) for AX25_MAC is included in the package, in this document you can read more about about it. The document will also point out some of the restrictions for correct working. For example you cannot use BayCom modems in a DOS box under windows because in that case AX25_MAC needs strict timing and access to the PC's timer-chip.
Adjustment of access parameters of the ports (TXDelay and the like) is done by means of AX25_MAC.INI. At the start of AX25_MAC the -F option shall be specified, otherwise the file is not read and default values will be used.
AX25_MAC.INI contains parameters that also exist in TFPCX, only the parameters that are of interest for a MAC layer are present however.
Many parameters that exist in TFPCX are therefor vanished. For more detailed information see AX25_MAC Manual.
Here is an example how to set AX25_MAC up with a KISS TNC.
This is what you have to do:
- Kick the TNC into KISS mode, how this is done depends on the TNC type.
- If applicable change AX25_MAC.INI to set TX-Delay to match your TRX.
- Load AX25_MAC the following way:
AX25_MAC -PKISS1 -B9600 -L -F -C17 -BU50
(you may want to change 'run.bat' to have a startup batch-file)
At this point you have a driver running. You can have more ports than one, the parameter '-C17' is responsible for the indicator you see in the top-right corner. It should follow the reception of data. If you don't like it just leave the parameter '-C17' out. The parameter '-B9600' sets the speed to 9600 baud, this is also the default for kiss so you could leave it out. The '-L' parameter prevents simultaneous transmission if you have more than one port, you can leave that out as well since with one port it does nothing.
The '-F' causes the AX25_MAC.INI to be read to program the TX-delay etc. If you leave that out some defaults will be used. The -BU50 specifies that up to 50 frames can be buffered in the TSR. A very simple startup would be:
I know it doesn't sound simple at first, but using this AX25_MAC driver really covers a lot of hardware and makes DIGI_NED itself hardware independent.
Now you have the TSR running and can proceed with the setup of DIGI_NED itself which will be described in a minute.
AX25_MAC can be unloaded from memory by starting AX25_MAC once more but this time only with the '-u' flag.