Modem w/g OE5DXL
Materialy tu zamieszczone zostaly znalezione w sieci ampr.net.
Zamieszczone sa bez zgody autorow!!.

Schemat (originally from OE5DXL, english translation by DL9RDZ)

This text is not jet prepared for general distribution.

test-version L2PCX, HAMWARE - (C) OE5DXL commercial usage prohibited

resident multi-port AX.25-driver for IBM-compatible and plug-in-modem(s) for RS232, 9600bit/s FSK w/ G3RUH-scrambling, power supply from the interface. IC's: TL064, 4013, 4538
Terminal-interface with WA8DED-hostmode

(detailed information about hostmode interface not yet included, see e.g. documation of the Atari-version L2STX)


When the modem circuit-diagramm is distributed in printed form, it simultaniously must be included on an electronically readable data carrier. (e.g. floppy disc)
"Can I use this with a Baycom Modem?" No! a Baycom Modes is for 1200bit/s AFSK!

L2PCX can be operated at 1200bit/s, but only in the operational mode used with the FSK-modems. This can't be adjused just with changing Pins for "Baycom". For 1200bit/s various other driver software does exist.

Before building or bying a modem, the PC should be testet without modem, wheater it's RS232-interface is compatible, resp. the CPU can handle the interrupts properly (see below).

For testing a modem, you should install L2PCX for the according RS232-interface, because otherwise the power supply on the status lines may not be present.

command line parameters:

-U                 unload
-I            trap-int of the WA8DED interface, default 253 = FDh
-P            AX.25 port (currently only P1 supported)
-B            size of data-buffer in 32byte, default 800
-xx                Test Off -- some % less cpu time consumed 
                   (command is NOT -xx, is not yet published)
parameters for separate ports are set after the -P:
-P -Bbit/s    bit/s Port 1 (150 to 9600), default 9601
                     add 1: turns on G3RUH-scrambling (-B9601)
                     add 2: sets DTR to +12V for AFSK-modems (-B1202)
-P -C    used COM port, according to BIOS, default COM1
-P -I    interrupt of interface (-I3), default I4
-P -A    base-adress of interface (dezimal!) (-A760) default 1016

all possible parameters after -Px can be combined. In case you need parameters to change the default values, you can simplify the loading with a .BAT-file. start with: (examplex)

                           ! IntTest ! bit/s ! Scrambl ! COMnr ! INTnr ! Adrs !
---------------------------+---------+-------+---------+-------+-------+------+
L2PCX                      !   ON    ! 9600  !   ON    !f.bios ! INT4  !n.bios!
L2PCX -U                   !  ------------------ Unload ----------------------!
L2PCX -P1 -B1200           !   ON    ! 1200  !   OFF   !f.bios ! INT4  !f.bios!
L2PCX -P1 -B9600           !   ON    ! 9600  !   OFF   !f.bios ! INT4  !f.bios!
L2PCX -P1 -B9601           !   ON    ! 9600  !   ON    !f.bios ! INT4  !f.bios!
L2PCX -P1 -C2              !   ON    ! 9600  !   ON    ! COM2  ! INT3  !f.bios!
L2PCX -P1 -C2 -I7          !   ON    ! 9600  !   ON    ! COM2  ! INT7  !f.bios!
L2PCX -P1 -C2 -I4 -A1016   !   ON    ! 9600  !   ON    ! COM2  ! INT4  ! 3F8H !
L2PCX -P1 -C1 -I3 -B1200   !   ON    ! 1200  !   OFF   ! COM1  ! INT3  !f.bios!
L2PCX -B500 -P1 -C4 -I11   !   ON    ! 9600  !   ON    ! COM4  ! INT11 !f.bios!
L2PCX -xx                  !   OFF   ! 9600  !   ON    !f.bios ! INT4  !f.bios!

used CPU-time on a 80286 with connected modem und TRX (Landmark speed test):

9600bit/s     -2.9MHz rx, noise, digital-squelch closed, TEST OFF
9600bit/s ca. -6MHz tx, or rx with digital-Squelch open, scrambling on.
1200bit/s     -0.8Mhz

A 6MHz AT should be enough, but (especially with slow terminal software), at least a 10MHz AT should be used.

If TEST is on, besides normal operation it is also tested, if the used computer is abel to handle the occuring interrupts fast enough. At 9600 bit/s there are 4800 Interrupts/s. So interrupts mustn't be locked (mostly done by BIOS or DOS) for longer than 1/4800 secound.

The result of the test (the number of the lost interrupts) will be displayed when unloading (L2PCX -U). Every lost interrupt, which occurs while recieving or transmitting a frame will cause this frame to get lost. If frequent losses occur, e.g. during disk accesses, the computer is unlikly to be usable for packet operation with L2PCX.

Is the counter output a low number (e.g. < 50 while playing around in DOS for some minutes), it should be ok. Problems, which are not being recognized by the test, are caused by the 82C450 rs232-ic, which produces 9525 baud instead of 9600. An alternativ test for suitability for l2pcx is connecting an ear phone to the TXD line of the RS232. Distortions of the sound equally indicate frame losses during that time (don't test while the computer is idle as there losses are quite unlikely, but rather do something like typing "DIR" in DOS, or starting your terminal program). The sound CANNOT be output at the computer's internal speaker.

Testing with an terminal program, you can query the loss-counter with "esc V". To avoid that L2PCX being used on unsuitable computers, and thus user acceses being QRM'ed with too much frame losses, a "fm ERROR to nnnn" is being displayed on the Monitor channel, to remaind you about this situation. Each of this pseudo-frames means, that at this moment a frame wouldn't have been recieved, or would be sent corrupt.

Known "interrupt-killers":          What to to:
--------------------------------------------
EMM-driver (RAM above 1MB)          Don't use it.          
CGA-screen with snowcheck ON        Avoid the usade of snowcheck
AMI-BIOS-harddisc-control           try other BIOS, e.g. Award BIOS
AMI-BIOS-hercules driver            let terminal use direct acces to VIDEORAM
some resident (TSR) programs        don't load them
keyboard drivers                    some other are better
some DOS-versions                   the older, the better....
additional information for the now available multiport-version:
compiled for 4 port it can be used for 4 AX.25-ports on 4 rs232-interfaces simultanious. the PC must be able to handle the ports fast enough. 1200 bit/s-ports nearly won't be noticed, for e.g. 2x 9600 bit/s and 2x 1200 bit/s, it should at least be a 16MHz 80286. Memory (about 5.5k) for each port is only allocaed if the port is activaed. The used COM's must have seperate and not otherwise used interrupts.

starting-paramaters, an example: (see table above)

L2PCX -p1 -c1 -b9601 -p2 -c3 -b9600 -p3 -c2 -i5 -b2400 -p4 -i11 -a760 -b1202
      ============== ============== ================== =====================
port 1 must always be used, it is used for the L2-Timing.
Default-values: p1 = com1 from bios, int 4 9600bit/s scrambler ñ12V
                p2 = com2 from bios, int 3 1200bit/s     2 x   ñ12V
                p3 = com3 from bios, int10 1200bit/s     2 x   ñ12V
                p4 = com4 from bios, int11 1200bit/s     2 x   ñ12V
bitrate, scrambling,, 12V can also be changed from the terminal software. shall ports be deactivated while L2PCX is running (to avoid wasting CPU time for them), simply set them to 300 bit/s.

activationg of the ports via WA8DED-hostmode:


  connecting with C call portnumber (via...) e.g.  C OE5XDR 3 DB0HOB
    without portnumber, port 1 will be used.

  transmitting UI-frames, and setting parameters:
    First select Port with "PP3 T25  (set TXDelay of Port 3)

    special parameters, which can't be reached in WA8DED-interface, can be
    set with "P ". Take care! These values are used without
    checking them.

    P105 Rx buffers per link maximum (RNR)
    P106 Tx buffers per link Maximum
         (as WA8DED-hostmode has no data-flow-control, the host will block
         when trying to send more data => Terminal will block)
    P108 full duplex (only with HDLC-FIFO-interface)
    P111 Passall 1/0 (crc-check off)  only for monitoring
    P112 Echo 1/0 (only with HDLC-FIFO-interface)
    P114 transmit-port for this L2-Port
    P115 (additional) recieve-Port for Multi-Rx, Baud-, Modem-Diversity
         0 = port adisable in L2
    P116 Digital squelch level
    P117 TXWait in 10ms, delay after TX, before transmitting again.
    P118 TXTail in 10ms
    P121 BaudSwitchDelay in byte for mixed Baud operation (only with FIFO)
    P122 Flag, Bitpatter while TXDELAY, usually: 126 (7E)
         without scrambling better: 0, last flag before data always is 7E.

For 1-port-version, use these numbers minus 100 (e.g. P22 instead of P122)

Any comments about this to DL9RDZ@DB0WGS.#BAY.DE.EU (ax25-net) or hsreiser@cip.informatik.uni-erlangen.de (internet)
vy 73 & 55, Hansi, dl9rdz
Platinen-Layout & Bestueckungsplan, von DL4OBG
SMD-Layout zweiseitige 2cm*2cm-platine, von DL9RDZ
Software-Treiber
Software-Treiber zu 4 Modems