
 
 
 
 
 ĿĿ  ĿĿĿ Ŀ Ŀ Ŀ Ŀ  Ŀ
   ڿ  Ŀ ٳ   Ŀ   Ŀ   Ŀ   ڿڿ 
                 Ŀ                 ٳ  
                     Ŀ     Ŀ           
             Ŀ                 
                  



Wijckel, April 1993 - Maart 2000


                   Second part is english language.


If you have ANSI.SYS installed then try:   TYPE INTERCOM.TXT


***************** BASISPRINCIPE INTERCOM.COM *****************

Er zijn reeds diverse programma's geschreven om rtty met een pc te decoderen.
Hieraan kleven veelal een van de volgende nadelen:
1) Er is een uitwendige decoder nodig, die afgeregeld moet worden.
2) Er is geen decoder nodig, maar reeds bij lichte ruis en storing
   wordt het decoderen onbetrouwbaar.

In dit programma wordt steeds het ingangssignaal gesampled, waarna een
berekening plaatsvindt, WELKE EEN VOORKEUR VOOR BEPAALDE FREQUENTIES HEEFT.
Er zit dus als het ware een filter in de software ingebouwd.

De resultaten worden op een X-Y scoop getoond, zodat de ontvanger meteen
kan worden afgestemd m.b.v. een assenkruis.

In feite bootst de software voor FSK-modes de volgende schakeling na:

                     Ŀ
 SIGNAAL >ĴĴ SAMPLE&HOLD Ŀ
                 )    
       AF IN  C1   )                   
                 L1) RESONANTIE           \
                   ) 1275 Hz           Ĵ+\
                                            \
 MASSA   >ĳĴ                          >> MARK/SPACE VERWERKING
                                            /
                   ) RESONANTIE        Ĵ-/
                 L2) 1445 Hz              /
              C2   )                   
                 )  Ŀ         De sample&hold's triggeren
            ĴĴ SAMPLE&HOLD        op de topwaarde van de sinus
                     


Voor Morse wordt dit:

                              Ŀ
                  Ŀ Ĵ GEMIDDELDE  Ŀ
                BEPAAL    
 SIGNAAL >ĴĴENERGIEĴ                 
               INHOUD                    \
   AF IN    C1  )  Ĵ>Ŀ  Ĵ+\    Ŀ
                )                           \             MORSE
              L1) RESONANTIE            R     >Ĵ SET   Q >
                ) 800 Hz                    /             VERWERKING
                                        Ĵ-/             
                                         /              
                                C2   R                  
                                       \              
                                        Ĵ+\             
                                           \            
                                       R     >Ĵ RESET   
                                           /            
                           Ĵ<ĳĴ  Ĵ-/    
                                      C3   /
                                        
 MASSA   > 

Een soort electronische "virtual reality" voor de computer dus.

Het sampelen en decoderen gebeurt op interruptbasis.
Dit betekent dat elke PC die de benodigde interrupt snel genoeg kan verwerken,
geschikt is.

Echter over hoe meer samples (=interrupts) een mark- of space-sinus verdeeld
word, hoe preciezer de toon gefilterd kan worden.
Om hieraan tegemoet te komen zijn er de volgende mogelijkheden:
Een 386 of 486 processor kan per seconde 27000 samples nemen en zo 
precies 1275 en 1445 Herz filteren en decoderen.
Een 286 of 386SX is minder snel, doch hier is het mogelijk om met 10000
samples de tonen 425 en 595 Herz te decoderen.
Iets minder fraai, doch net zo betrouwbaar.
Er zijn dan ook drie versies aanwezig:

               10.000 samples     425/595 Hz
               18.000 samples   1275/1445 Hz
               27.000 samples   1275/1445 Hz

Voor Feldhell:  8.000 samples     550 Hz
               14.000 samples     900 Hz
               22.000 samples     900 Hz

Voor BPSK:      8.000 samples     500 Hz
               14.000 samples    1003 Hz
               22.000 samples    1003 Hz

Voor Morse:     6.000 samples     500 Hz
               11.000 samples     800 Hz
               16.000 samples     800 Hz

Gezien het noodzakelijke strenge tijdregiem wat de interrupts betreft
zal het onmogelijk zijn om dit programma in een multitasking omgeving
te laten werken, WINDOWS is dus uitgesloten.
Ook is het zo dat de zaken die door de timed interrupt worden afgehandeld,
veel trager verlopen.
Dit betekent dat de dostijd niet meer wordt bijgehouden en dat floppydrives
langer doorlopen.
Tevens is het achtergrondprinten afgeremd.
Geen nood, bij het verlaten van INTERCOM wordt de tijd weer gelijk gezet uit 
de real-time clock en de andere functies gaan weer op volle snelheid verder.

***************** CONFIGUREREN INTERCOM.COM *****************
In de file INTERCOM.CFG kunnen een aantal settings worden opgegeven.

#INTERFACE:    COM1       ;COM1 - COM5      \ Voor de versie's welke werken
#GENERATOR:    OFF        ;ON of OFF        / met het hamcommodem
#INPUT:        MIKE       ;MIKE, LINE of CD - Voor de allsound versie
#LOG:          ON         ;ON of OFF
#VIDEO:        AUTO       ;EGA, VGA of AUTO
#STARTMODE:    RTTY45     ;MORSE, RTTY45, RTTY50, ASCII, SITOR-FEC, SITOR-ARQ 
                          ;BPSK of FELDHELL
#LANGUAGE:     NEDERLANDS ;NEDERLANDS, ENGLISH of DEUTSCH
#MOUSECONTROL: ON         ;ON of OFF
#LINEFEED:     DIRECT     ;DIRECT of AUTO, direct volgt het ontvangene, auto
                          ;voegt een linefeed toe indien nodig
#SQUELCH:      0          ;0 T/M 9, 0 is geen squelch, 9 is zeer sterk signaal

Zoals U ziet eerst de '#', daarna het triggerwoord, eindigend
op ':', minstens een spatie en de instelling.
Het triggerwoord kan worden afgekort, het ontbrekende deel wordt
als wildcard behandeld, dus:
#INT:   COM1    is ook toegestaan.
        de poorten zijn: 03F8/IRQ4 COM1
                         02F8/IRQ3 COM2
                         03E8/IRQ4 COM3
                         02E8/IRQ3 COM4
                         03E8/IRQ5 COM5
De mousecontrol werkt alleen bij een VGA scherm.

Bij ontbreken of verkeerde settings worden voorkeurswaarden ingesteld.
Dit zijn: COM1, MIKE, logging ON, video autodetect, start met CW, NEDERLANDS,
          squelch 0, generator OFF, linefeed DIRECT, mousecontrol OFF

****************** SUBVERSIE's INTERCOM.COM ******************
Om tegemoet te komen aan de diverse P.C.'s zijn er verschillende versie's
van INTERCOM in dit archief verpakt.
Dit zijn de volgende:

MEDIUM     Processor 386/20-33 MHz
           Deze sub-versie (m) is voor het hamcommodem

SNEL       Processor 386/40 MHz-486/33 MHz
           Deze sub-versie (s) is voor het hamcommodem

COMSOUND   Processor 386/40 MHz-486/33 MHz
           Deze sub-versie (sc) is voor een combinatie van 
           het hamcommodem voor ontvangst en een geluidskaart om
           te tonen op te wekken.

ALLSOUND   Processor 386/40 MHz-486/33 MHz
           Deze sub-versie (sg) gebruikt zowel voor het zenden
           als het ontvangen een geluidskaart om de tonen op te wekken
           en de signalen te decoderen.
           Er is niet voorzien in een schakeluitgang voor PTT.
           Werkt niet bij alle geluidskaarten en het aantal functies 
           van deze versie is sterk gereduceerd.
           De analysator functie daarentegen is volledig functioneel.
           Om alles te gebruiken is een extra softwaremodule nodig.

INTERDAC   Processor 386/40 MHz-486/33 MHz
           Deze sub-versie (sd) is geschreven voor een specifiek voor
           INTERCOM ontworpen print waar een D/A converter, een
           toongenerator en een aantal schakeluitgangen op zitten.
               
******************* BEDIENING INTERCOM.COM *******************
Afstemmen: bij FSK-modes afstemmen tot een assenkruis zichtbaar is waarbij
           de beide ellipsen ongeveer even groot zijn.
           De enkeltoon modes zijn iets lastiger, hier moeten twee lijnen 
           zo lang mogelijk worden en op zoveel mogelijk dezelfde hoogte komen.
           Bovenin de scoop is een extra afstem-indicator aanwezig

Instellingen:
Met de functietoetsen, druk op F1 voor hulp.
De rest wijst zich eigenlijk vanzelf, maar voor de duidelijkheid:
F2      beindig INTERCOM programma, ALT_X werkt ook
F3      schakel op ontvangst
F4      schakel op zenden
F5      naar keuze Teksten
F6      naar keuze Bediening
F7      naar keuze Mode
F8      eigenschappen toonfilters
F9      langzamer / BPSK filter lagere toon
F10     sneller   / BPSK filter hogere toon

F5 roept de teksten op uit de file INTERCOM.CFG
Deze file moet als volgt worden opgebouwd:
De start van een tekst zijn de tekens "@@", de rest van de regel 
waar de dubbel "@" staat verschijnt als beschrijving op het scherm.
Uit deze kan dan een keuze worden gemaakt met de op- en neerpijlen.
<ESC> is stop, <ENTER> is bevestigen.
Het gedeelte van de file na de keuzeregel tot aan de volgende "@@"
combinatie wordt in de zendbuffer opgeslagen, net alsof U het getypt had.
Ook het einde van de file doet de uitvoer stoppen.
De maximale totaallengte is 65535 bytes en er kunnen 8 vaste boodschappen in.
Het is mogelijk om voor elke mode een aparte .MSG file te maken, deze
dienen dan als volgt genoemd te worden:
MORSE.MSG       voor Morse
RTTY.MSG        voor rtty, alle snelheden
ASCII.MSG       voor ascii
TOR_FEC.MSG     voor tor fec
FELDHELL.MSG    voor feldhell
BPSK.MSG        voor bpsk


Er zijn de voorbeeld-file's INTERCOM.CFG en MORSE.MSG bijgevoegd.
Wanneer tijdens ontvangen een filegedeelte voor verzending wordt opgehaald,
is het mogelijk dat de ontvangen tekens niet correct zijn.
Dit komt dan doordat de video-biosroutines de interrupt tegenhouden.
Daar is niets tegen te doen.

F6 laat U kiezen uit:
      WISSEN ZENDBUFFER    wist alles wat u reeds hebt ingetoetst
      HERHAAL ZENDBUFFER   begint weer van voren af aan te zenden
      SCHERM NAAR *.PCX    maakt een screendump naar de file INTER###.PCX
      DOSSHELL             gaat naar DOS, INTERCOM blijft werkzaam
      SIGNAAL ANALYSATOR   audio spectrum analyzer met scoop

F7 laat U kiezen uit:
      MORSE           automatisch 8-99 W.P.M
      TELEX           45 ,50, 75 EN 100 BAUD
      ASCII           110 BAUD
      SITOR FEC       MODE B COLLECTIVE
      SITOR ARQ       ALLEEN ONTVANGEN
      BPSK            31,25 BAUD BPSK
      FELDHELL        122.5 BAUD STANDAARD

Uit deze kan dan een keuze worden gemaakt met de op- en neerpijlen.
<ESC> is stop zonder wijziging, <ENTER> is bevestigen.

F8 laat U kiezen uit verschillende bandbreedtes en toonhoogtes voor de
   verschillende tonen.
   Dit is alleen mogelijk gedurende de ontvangst van FSK-modes.
   Met de op- en neerpijlen wordt aangegeven wat men wil wijzigen en
   met de linker- en rechterpijlen wat de te wijzigen waarde moet worden.
   De aangegeven waardes zijn de instellingen van het custom-filter.
   Als standaard actief is zijn de tonen altijd 1275/1445 Hz.
   Dit geeft de mogelijkheid om snel tussen de standaard 
   en de custom tonen te schakelen.
   <ESC> is verlaten zonder wijziging, <ENTER> is bevestigen.
   N.B. Hoewel mogelijk, heeft het geen zin een smaller filter
   te selecteren dan de gebruikte baudrate.

F9 en F10 zijn de snelheidsinstellingen. Voor de FSK-modes wordt hiermee
de baudrate gekozen.
Bij Morse wordt de op deze manier handmatig ingestelde snelheid vastgehouden 
tot er opnieuw wordt begonnen met Morse te ontvangen.
Voor PSK31 zijn deze toetsen om een fijnafstemming van de ontvangst 
te bewerkstelligen.

Ook kan als de mousecontrol is ingeschakeld de bediening met de muis
gedaan worden.
Dit door het gewenste icon aan te klikken met de linker muistoets.
Er wordt steeds een set icons getoond, die betrekking hebben op 
de beschikbare functies.
Wanneer men in een keuze-functie niets wil aanklikken, 
bedien dan de rechter muistoets in plaats van de linker.
Dit komt overeen met de <ESC> toets.
Overigens zal het inschakelen van de muisbediening de performance van
het scoopje met 40% verminderen.
Ter indicatie: 16 MHz 386sx       max  1500 Pixels / Seconde
               33 MHz 486dx       max  9000 Pixels / Seconde
              180 MHz Pentium Pro max 30000 Pixels / Seconde.... JAMMIE!
              350 MHz Pentium II  max 56000 Pixels / Seconde.... JAMMIEJAMMIE!


Wanneer INTERCOM tijdens zenden het teken "" (CTRL-BACKSPACE)
tegenkomt wordt op ontvangen overgegaan.
Dit werkt alleen tijdens intype-modus, d.w.z als het intype-scherm
grijs is.
(Bij VGA en een muisdrijver geinstalleerd zit er dan rechts op de statuslijn 
een klein seinsleuteltje).

Toelichting op begrip "ZENDBUFFER"
Er is een geheugendeel gereserveerd om tekst in te typen, 
die daarna uitgezonden kan worden.
Het intypen plaatst een teken in dit geheugendeel en zet een pointer 1 verder.
een andere pointer wijst waar het zenden is gebleven.
Het verschil tussen die twee is de bufferinhoud welke op de statusregel staat.
Wanneer een teken is uitgezonden "kijkt" het zendgedeelte of de zendpointer
de typepointer heeft ingehaald.
Zo niet dan wordt het teken, aangewezen door de zendpointer verstuurd en de
zendpointer 1 opgehoogd.
Het "WISSEN ZENDBUFFER"  zet beide pointers op nul.
Het "HERHAAL ZENDBUFFER" zet de zendpointer op nul.

Toelichting op "DOSSHELL"
Bij het gebruiken hiervan start INTERCOM een nieuwe command processor
met dezelfde environment als de voorgaande. INTERCOM blijft resident
in het geheugen en neemt dan ca. 64Kb in beslag. Met EXIT is weer terug
te keren naar INTERCOM. De ontvangst gaat door.
De opslagcapaciteit is ongeveer 1,5 uur RTTY.
Als het zenden was geactiveerd, gaat dit ook door. Het eindeteken ""
wordt nu genegeerd omdat de basisbesturing niet meer actief kan zijn.
De beperking is dat programmatuur die de timer zelf bestuurt meestal
een "hangup" veroorzaakt.
Helaas maken veel programma's met popup-menu's hier te stevig gebruik van.
Proberen dus wat wel en niet kan.


Als U eenmaal weet hoe INTERCOM werkt, begrijpt U ook de gebruiksaanwijzing.

*************** EIGENSCHAPPEN/SYSTEEMEISEN INTERCOM.COM ***************
Er is gebruik gemaakt van specifieke AT eigenschappen, zodat INTERCOM
niet op de meeste XT's loopt, alleen op sommige als er een 286 inzit.
Er is vanwege de grafische presentatie een EGA of VGA nodig.
Hoewel niet getest, dient INTERCOM te lopen vanaf DOS 2.1 met 128 Kb vrij
Indien DOS 3.0 of hoger wordt gebruikt, kan INTERCOM vinden vanuit welke
directory het programma gestart is en zoekt daar ook naar de logfile
en de files ter ondersteuning van de werking.
Om de benodigde interrupts af te kunnen werken is een processor met
een minimale kloksnelheid van 16 MHz vereist.
Als U alleen Morse decodeert kunt U met de helft toe.
Voor wie alleen het beste wil, de snelle versie draait vanaf
een 386/40 of 486/33 en hoger.

Alles wat "in de lucht" zit wordt op schijf opgeslagen als "INTERCOM.LOG".
Dat is dus alles wat op het bovenste scherm verschijnt (behalve Feldhell).
INTERCOM.COM loopt het comfortabelst vanaf harde schijf.
Dit vanwege het eerder genoemde langer doordraaien van floppy's.
Omdat de functies lopen in de tijd die tussen de decoderingsinterrupts
over is, is het zaak zo weinig mogelijk andere residente programma's
te gebruiken, die processortijd vereisen.
Bij sommige programma's is zelfs te merken dat het scoopje aanzienlijk
trager wordt. Probeer EMM386.EXE maar eens!

Om het signaal van de ontvanger aan te koppelen, kan het zgn. hamcommodem
gebruikt worden.
Nog beter is het om een A/D converter te gebruiken. (op speciale print)
Hiermee is het (nog) beter mogelijk om signalen uit te filteren.
Om te zenden is er een aantal mogelijkheden, te weten:
1) Direct uit de compoort       (Niet voor PSK!)
2) Met een externe generator
3) Met een soundblasterkaart
4) Met een speciale INTERCOM print, zie INTERDAC.LZH
   Daarin bevindt zich documentatie en voorbeelden over deze mogelijkheid.

INTERCOM versie 4.2 is geen public domain, wel gratis.
De auteur houdt het copyright en alle andere rechten.
Echter met dien verstande, het programma is geen freeware maar BIERWARE
Dit houdt in dat mocht u als INTERCOM-gebruiker mij treffen, er van U
verwacht wordt dat U mij er eentje aanbiedt.

ATTENTIE!
De versie 3.50 is de eerste en tevens de laatste versie waar alle 
mogelijkheden voor het Hamcom-modem en de speciale INTERCOM-print
identiek zijn, net uitzondering van de signaal analyse.
Het moge duidelijk zijn dat vanaf dit punt ik bij het programmeren
meer en meer gebruik ga maken van de extra mogelijkheden die deze
print biedt.
Om met de standaard versie een indruk te krijgen van de analysator    
kunt u vanuit de INTERCOM dosshell typen:
        INTERFFT DEMO  <enter>

Voor de laatste versie kunt u kijken op mijn homepage:

    http://ourworld.compuserve.com/homepages/pa3byz/
    Voor Europa:
    http://home.uwnet.nl/~pa3byz

Of zoek via Altavista op "PA3BYZ"

Het is NIET toegestaan om:
 - Het programma te modificeren, patchen of op enige wijze 
        te ontleden danwel te veranderen.
 - Het programma te distribueren zonder de bijbehorende files
 - Het programma te distribueren met een andere naam dan INTCOM42.*
   alleen de extentie (*.ARJ, *.LZH, *.ZIP en andere) mag varieren.
 - Een vergoeding te vragen anders dan voor de werkelijke kosten van
   transport met een maximum van F 7.50, dus ook geen toeslag
   op een informatiedrager omdat dit programma er op zit (softwarehuizen!)
   Een vergoeding per programma is derhalve verboden.
          Het 5-gulden-per-flop principe is dus WEL toegestaan.
Het is WEL toegestaan om:
 - dit programma vrij te gebruiken
 - zoveel copien te maken als u wilt en die weg te geven, mits compleet:

        # FILE_ID.DIZ           BESCHRIJVING/AANKONDIGING
        # INTERCOM.TXT          deze file
        # INTERCOM.CFG          voorbeeld file configuratie
        # MORSE.MSG             voorbeeld file Morse-boodschappen
        # INTERFFT.EXE          hulpprogramma signaal analysator INTERCOM
        # INTERCOM.ICS          file met ikonen
        # MEDIUM.LZH            voor medium processor
        # SNEL.LZH              voor snelle processor
        # COMSOUND.LZH          voor snelle processor met soundblaster/hamcom
        # ALLSOUND.LZH          voor snelle processor met soundblaster
        # INTERDAC.LZH          voor snelle processor met INTERCOMPRINT
        # MORSELES.BAS          BASIC programma om willekeurige tekens te
                                      genereren voor INTERCOM

   EN IN ONGEWIJZIGDE VORM!. PAS OP HOOR!
   Door het gebruik van dit programma aanvaardt U deze voorwaarden.

Er is geen registratie en geen betaling


GEEN GARANTIE !

Aangezien dit programmma vrij is van licentierechten, voorziet de auteur
in geen enkele garantie.
Wie enige aanspraak meent te kunnen maken op grond van
plaatselijke voorschriften, mag dit programma niet gebruiken!

Filosofie achter intercom..
Wat filosofie, zult u zeggen- yech! 
Loop heen en laat me met rust, wat moet ik met filosofie.
Toch wil ik U de achterliggende gedachte achter dit programma niet onthouden.
De werking is volledig geconcentreerd op het betrouwbaar vaststellen van
de Morse, mark- en spacetonen.
De verdere uitvoering doet misschien wat kaal aan, maar dat leidt m.i.
alleen maar af van het doel, het maken van verbindingen.


Veel plezier met INTERCOM toegewenst.

Tot slot het schema van het hamcommodem
En de door mij gebruikte AFSK generator.

Ĵ< = DIODE
Bij geen nadere aanduiding waardes in Ohms en Microfarad

                              Ontvang  Circuit
      Transceiver                                                Computer
                                                                  RS-232
                      Diodes 1N4148                             25-Pin  9-Pin
                      Opamp   A741 (of gelijkwaardig)
                                                   Ŀ
                                 Ĵ<Ĵ 560 > DTR 20     4
              100 nF      3 \ 7               
        >ĴĴ+\     ĳĴ>          
                             \ 6            Ŀ  
      AF IN                     >ĳĳĳĴ 680 ĳ> DSR  6     6
                           2   /               
        >Ŀ          Ĵ-/     Ĵ<Ŀ          
                           / 4                     
                                                    
                      Ŀ                      
                      ô 100K ó                    
                      ٳ              Ŀ  
                            ĳĴ>Ĵ 560 ĳ> RTS  4    7
             100k           +          ٳ 
                         +                    
                      0.47 10F    10F  ĳĳ> GND  7    5
                     16V 16V             
        <Ŀ                             
    PTT                                                   
                              \    Ŀ                
                               Ĵ 2K2 Ĵ< 
                              /                     
                                                           
                                                           
                                                         
        <Ŀ                              
     KEY/FSK/PSK                                           
                              \    Ŀ                 
                               Ĵ 2K2 Ĵ<
                              /    
                             
                             
                            
            < PLUS 12V
                                             0.1F
                            ĴĿ
           2K7              vĿ             
              ĳĳĴ1        16            
                    1F                           
               ĳ ĳĴĴ2        15            
        82K          +                 Ŀ   
             82KĳĴ3        14Ĵ 220 Ŀ 
 AUDIO <ĳŴ                         
 UIT                Ĵ4   XR   13 
            50K        0.1F    2206                 
                  82K  ĴĴ5        12Ĵ
                                                      
                       Ĵ6        11            
                                                       
            Ŀ        Ĵ7        10Ŀ      
                                                  
                        Ĵ8         9ĳĳ< FSK IN
        1K2                           
              ĳĳĳĳĳĳ< PSK IN
                                         +    
                         2*4K7                   
                                           10F 
            6k8                                   
                      Ŵ2*5K MEERSLAG             
                             POTMETER             
            < MASSA
 De weerstanden van 4K7 zijn voor een mark/space van 1275/1445 Hz.
 Voor 425/595 Hz dienen deze te worden vergroot tot ca 15K.
 Het verdient aanbeveling de weerstandcombinatie aan pen 7 omschakelbaar
 te maken naar een tweede set, die dan voor BPSK wordt afgeregeld op 1003 Hz

Het is mogelijk de tonen uit de compoort te halen.
In verband met de deeltallen in de PC is dit minder geschikt en
meer bedoeld voor testdoeleinden. 
De 2206-generator of de soundblaster blijft de voorkeur houden.
Voor wie toch de allersimpelste interface wil:

    Computer
     RS-232
  25-Pin  9-Pin

      2       3 >Ŀ
                                  
                                   22k
                                  
                                   Ŀ
                                            
                                         1k   1k
                                            
                                               > MIC
                                C1        C2
                                            
                                   100nF       100nF
      7       5  MASSA >> MASSA
De mode PSK is niet op deze manier te genereren, daarvoor is de generator
met de XR2206 nodig.
De weerstand van 22k kan worden aangepast aan de gevoeligheid
van de microfooningang.


                                         ////
                                        ( )
 oOO(_)OOoķ
                                                   
                P. M. Haringsma                    
                dr. Hattinkstr. 13                 
                8563 AC  Wijckel                   
                                                   
                tel: 0514 60 3310       PA3BYZ     
        ELECTRO-POST PA3BYZ@COMPUSERVE.COM         
 Ľ

Hoewel het idee, het concept en al het programmeerwerk geheel 
van mijn hand zijn, heb ik sommige delen van anderen verkregen.
Daarom wil ik de volgende personen dank zeggen:

H.C. de Vries        Heeft het logo gemaakt
                     Keep up the good work Harry!

Guenther, DK6MC      Heeft de teksten voor mij in het duits vertaald

Dan Rollins          Heeft de routine "linedraw" gemaakt, naar het algoritme 
                     beschreven door Michalsky
                     Gebruikt voor de wijzers van het klokje

Dan Lee              Heeft de routine "fast circle" gemaakt
                     Gebruikt voor de wijzerplaat van de klok

Mike Cook, AF9Y      voor zijn Fast Fourier routine in het programma FFTEME 
                     Gebruikt in het programma INTERFFT

Bernard Schmitz/Christopher L. Tumber coderen/verbeteren Flames
                     genspireerd door fire van Jare of VangeliSTeam.
                     Gebruikt in testversies van intercom

Benjamin Petersen    voor zijn voorbeeld van een draaiend font

Koos Fockens, PA0KDF Schrijver van een inspirerend artikel over filtering


GESCHIEDENIS:
MAART 1993 vrijgave versie 1.1
           ontvangen RTTY 45,45 en 50 baudot

APRIL 1993 gereed versie 2.3t, 2.3m en 2.3s
           voor (t)rage, (m)edium en (s)nelle PC
           zenden en ontvangen van zowel:
           Morse 8-100 WPM, rtty 45 en 50 Baudot, ascii 110 Baudot
           Halen teksten uit file INTERCOM.CFG met ALT-F1
           Verbeterde Hercules-subroutines, nodig voor keuzemenu's
           Kiezen stuurfuncties ALT-F2

JUNI 1993  Inwendig geheugengebruik aangepast aan Microsoft muisdriver(s)
           Niet alleen tijd, ook datum gelijkzetten (voor de nachtbrakers)        
           
JUNI 1993  tonen veranderd van:
             FSK tonen       10.000 samples  375/545 Hz, directe berekening
             Voor Morse:      6.000 samples      400 Hz, directe berekening
           naar de eerder vermelde
           Bij de FSK-modes wachttijd tussen begin zenden en moduleren.

AUG.  1993 vrijgave versie 2.4 (t,m en s)
           Bij Morse wordt de bandbreedte van het Morse-filter
           afhankelijk gemaakt van de ontvangen seinsnelheid.
           Overigens blijft Morse een moeilijke mode voor een computer.
           Die ziet nl. niet het verschil tussen fading en de normale
           volumeveranderingen bij het sleutelen van de toon.

AUG.  1993 vrijgave versie 2.5 (t,m en s)
           Geen generator meer nodig, wekt nu ook zelf tonen op.

JAN.  1994 vrijgave versie 2.6 (t,m en s)
           Toegevoegd SITOR FEC, enkele kleine modificaties.
           Verbeterde timing.
           Detecteert 286 en hoger

AUG.  1994 Versie 3.0 (t,m en s)
           Veranderen toetsfuncties
                      stopvoorwaarde SITOR-FEC
                      standaard timerinterrrupt weer afwerken

           Toegevoegd configuratie van: interface 
                                        logging 
                                        video
                                        startmode
                                        squelch
           VGA-sturing iets uitgebreid tbv ondeugende BIOS-sen
           Bug verholpen waardoor sommige programma's niet na intercom
                        gestart konden worden.

SEP.  1994 Vrijgave versie 3.1 (t,m en s)
           Enkele kleine display modificaties.
           Contstantere snelheid orginele interrupts
           dosshell gemplementeerd
           Bug met vrijgeven compoort verholpen
           Synchronisatie TOR-FEC verbeterd 
             (bij vrijloop nu 1/2 bit drift in 69 sec, was 28 sec, eis 15 sec)

OKT.  1995 Vrijgave versie 3.2 (t,m en s)
           Herkent nu beide soorten pijltjes-toetsen
           Verbeterde video-besturing voor bepaalde (notebook) VGA-kaarten
           Compoort-generator kan OFF gezet worden in INTERCOM.CFG
           Compoort-afhandeling verbeterd voor low-power typen
           Inwendig geheugengebruik aangepast aan PS/2 muisdriver(s)
           Uitbreiding RTTY snelheden met 75 en 100 BAUD
           ZEER vervelende en onvindbare bug met cirrus kaarten opgelost
           
APR.  1996 Vrijgave versie 3.3 (t,m,s en sc)
           Toegevoegd detectie voor multitasking.
           Schermuitgifte soepeler accelereren
           Toegevoegd logo in hoofdscherm
           Toegevoegd .MSG files per mode.
           Toegevoegd Engelse teksten, niet meer verschillende versies per taal
                      Dit maakte de subversie's SLOW, AVERAGE en FAST overbodig.
           Toegevoegd soundblaster "generator".
           Toegevoegd muisbediening.
           Verbeterde scoopbesturing, geeft nu 9000 punten/sec, was 2500
           Detectie voor inwendige veranderingen in INTERCOM (antivirus)

MEI   1996 Vrijgave versie 3.4 (t,m,s en sc)
           INTERCOM kan de eigen directory vinden voor de hulpfiles
           Zendsnelheid nu precies 45.45 baud
           Kleine verbeteringen in geheugen indeling
           Geschikt gemaakt voor niet-Intel en Pentium

MEI   1997 Vrijgave versie 3.5 (t,m,s,sc en sd)
           Bug met Morse-toon opgelost.
           Zendsnelheden preciezer gedefinierd
           Toegevoegd Duitse teksten.
           Toegevoegd klokje rechtsboven.
           Muisbediening verbeterd.
           Toegevoegd meerdere tonen.
           Toonfiltering verbeterd.
           Kleine verbeteringen in schermuitgifte.
           Toegevoegd versie voor speciale INTERCOM print.
           Toegevoegd signaal analysator ** werkt alleen met INTERCOM print **.

JUNI  1997 Bug release 3.51 (t,m,s,sc en sd)
           Kleine verbetering muisbediening.
           Plaatsen icons verbeterd.
           Toegevoegd hulpprogramma voor afregelen INTERCOM-print.
           Toegevoegd zgn. "paasei".
           Bij sommige compoorten moest twee keer gestart voor de generator.
           Toegevoegd EGA scherm.
           Detectie voor ps/2 muizen verbeterd.

OKT.  1997 Bug release 3.52 (t,m,s,sc en sd)
           EGA besturing voor probleemkaarten verbeterd.
           Uitschakelen toon Intercom-print werkt ook in OS/2
           Configuratie kan nu zowel in hoofd- als kleine letters.
           Demo optie bij de analyzer.

NOV.  1997 Bug release 3.53 (t,m,s,sc en sd)
           Na gebruik analyzer was timing veranderd, verholpen
           Afstemgebied Morse verruimd.
           Diskbuffer legen voor dosshell
           Toegevoegd afbeelding van de INTERCOM-print

MAART 1998 Bug release 3.54 (t,m,s,sc en sd)
           Plotter in analyzer sneller gemaakt
           Code compacter gemaakt
           Grafisch enigszins opgepoetst
           Gevoeligheid van de filtering geoptimaliseerd

JUNI  1998 Bug release 3.55 (t,m,s,sc en sd)
           Vorige versie vergat Morse te decoderen

FEB.  1999 Vrijgave versie 4.0 (t,m,s,sc, sg en sd)
           Communicatie tussen INTERCOM en INTERFFT uitgebreid.
           Detectie Morse-toon verbeterd.
           Timing compoort-generator verbeterd.
           Toegevoegd de mode FELDHELL.
           Identiteitscrisis INTERCOM opgelost. (het is een meisje)
           Toegevoegd de mogelijkheid van een externe sofwaremodule
           Toegevoegd de sub-versie "ALLSOUND"
           Overbodig schakelen van compoort bij subversie sc verwijderd
           Toegevoegd de mode SITOR ARQ ontvangen.
           Bug verholpen die scherm wiste.

MEI   1999 Vrijgave versie 4.1 (t,m,s,sc, sg en sd)
           Toegevoegd de mode BPSK.
           Toonhoogte ontvangen preciezer gedefinierd.
           Besturing geluidskaart verbeterd.
           Detecteert waar nodig nu 386.
           Snelheidsbereik Morse verbeterd.

JUNI  1999 Bug release 4.11 (t,m,s,sc, sg en sd)
           Veranderd de tuning-richting van de enkeltoon-modes.
           Toegevoegd een afstemindicator voor de enkeltoon-modes.
           Toegevoegd AUTO-LINEFEED met configuratie.
           Bug verholpen waardoor BPSK-zenden het eerste teken miste.
           Het BPSK-filter smaller gemaakt.
           Fout in de bedieningsteksten bij veranderen taal verholpen.

OKT   1999 Release 4.12 (t,m,s,sc,sg en sd)
           Morse ontvangst snelheid handmatig instellen en vasthouden.
           Toegevoegd het maken van een screendump naar *.PCX file
           Feldhell nu in grijstinten in plaats van zwart/wit.
                Om deze reden wordt Hercules alleen nog maar in de 
                trage versie ondersteund.
           COMpoort interface uitgebreid met COM3 t/m COM5.

JAN   2000 Release 4.2 (m,s,sc,sg en sd)
           Filter berekeningen van 16 naar 32 bits gemaakt.
                Dit betekent dat de langzame 286 subversie vervalt.
           Squelch aangepast aan grotere dynamysche bereik.
           BPSK synchronisatie verbeterd.
           Tevens vrijgave afgeleide programma SMALLCOM


******************* EINDE NEDERLANDSE TEKST *********************************









[English text partly revised by Duane Harvey, WB9K--Februari, 2000]

***************** BASIC PRINCIPLE INTERCOM.COM *****************

There are already many programs for decoding rtty with a computer.
Mostly they do have one of the following disadvantages:
1) An external tonedecoder is needed, requires tuning.
2) Runs without external tonedecoder, but already at light noise
   the decoding gets unreliable.

In this program the inputsignal gets sampled, and then a calculation 
takes place, WHICH HAS A PREFERENCE FOR CERTAIN FREQUENCIES.
This is effectively a software-based filter.

The results are shown on an X-Y scope, so that the receiver can be 
tuned easily.

In fact the software is emulating the following circuit:

                     Ŀ
 SIGNAL  >ĴĴ SAMPLE&HOLD Ŀ
                 )    
       AF IN  C1   )                   
                 L1) RESONANCE            \
                   ) 1275 Hz           Ĵ+\
                                            \
 GROUND  >ĳĴ                          >> MARK/SPACE DECODING
                                            /
                   ) RESONANCE         Ĵ-/
                 L2) 1445 Hz              /
              C2   )                   
                 )  Ŀ         The sample&hold's trigger  
            ĴĴ SAMPLE&HOLD        at the topvalue of the sinus
                     


For Morse this becomes:

                              Ŀ
                  Ŀ Ĵ   AVERAGE   Ŀ
                DETECT    
 SIGNAL  >ĴĴSIGNAL Ĵ                 
               ENERGY                    \
   AF IN    C1  )  Ĵ>Ŀ  Ĵ+\    Ŀ
                )                           \             MORSE
              L1) RESONANCE             R     >Ĵ SET   Q >
                ) 800 Hz                    /             DECODING
                                         /              
                                C2   R                  
                                       \              
                                        Ĵ+\             
                                           \            
                                       R     >Ĵ RESET   
                                           /            
                           Ĵ<ĳĴ  Ĵ-/    
                                      C3   /
                                        
 GROUND  > 

It's like a kind of electronic "virtual reality" for the computer.

The sampling and decoding happens with interrupts.
This means every PC capable of servicing the interrupts is suitable.

However over the more samples (=interrupts) a mark- or space-sinus can be
divided, the more precieze a tone can be filtered.
To suit this there are the following possibilities:
A 386 or 486 processor can take 27000 samples and precisely filter and decode
1275 en 1445 Herz.
A 286 of 386SX is less fast, but here is the possibility to decode
the tones 425 en 595 Herz with 10000 samples.
A little less beautiful, but equal reliable.
therefore are three versions:

               10.000 samples     425/595 Hz
               18.000 samples   1275/1445 Hz
               27.000 samples   1275/1445 Hz

For Feldhell:   8.000 samples     550 Hz
               14.000 samples     900 Hz
               22.000 samples     900 Hz

For BPSK:       8.000 samples     500 Hz
               14.000 samples    1003 Hz
               22.000 samples    1003 Hz

For Morse:      6.000 samples     500 Hz
               11.000 samples     800 Hz
               16.000 samples     800 Hz

Because of the timing required for proper sampling, it is impossible 
to run this program in a multitasking environment, so WINDOWS is out 
of the question.
Also, things which are serviced by the the timed interrupt can be delayed.
This means the DOS-time is no longer updated and floppydrives stop slowly.
Also the background printing is slowed down.
Don't panic, if you leave INTERCOM the time on an AT will be adjusted
from the real-time clock and all other functions continue at full-speed.

***************** CONFIGURING INTERCOM.COM ******************
In the file INTERCOM.CFG you can configure a number of settings.

#INTERFACE:    COM1       ;COM1 - COM5      \ For the versions which work
#GENERATOR:    OFF        ;ON or OFF        / with the hamcommodem
#INPUT:        MIKE       ;MIKE, LINE or CD - For the allsound version
#LOG:          ON         ;ON or OFF
#VIDEO:        AUTO       ;EGA, VGA or AUTO
#STARTMODE:    RTTY45     ;MORSE, RTTY45, RTTY50, ASCII, SITOR-FEC, SITOR-ARQ 
                          ;BPSK or FELDHELL
#LANGUAGE:     NEDERLANDS ;NEDERLANDS, ENGLISH or DEUTSCH
#MOUSECONTROL: ON         ;ON or OFF
#LINEFEED:     DIRECT     ;DIRECT or AUTO, direct follows the received signal,
                          ;auto adds a linefeed when needed.
#SQUELCH:      0          ;0 T/M 9, 0 is no squelch, 9 is very strong signal

As you can see, start with '#', then a triggerword ending with ':',
at least one space and then the setting.
The triggerword can be abbreviated; the missing part is treated
like wildcards. Therefore, for example:
#INT:   COM1    is also allowed.
        The ports are:   03F8/IRQ4 COM1
                         02F8/IRQ3 COM2
                         03E8/IRQ4 COM3
                         02E8/IRQ3 COM4
                         03E8/IRQ5 COM5
The mousecontrol will only work with a VGA screen.

If you fill in nothing or a wrong setting, the defaults are activated.
These are: COM1, MIKE, logging ON, video AUTOdetect, start with CW, DUTCH,
           squelch 0, generator OFF, linefeed DIRECT, mousecontrol OFF

***************** SUBVERSION's INTERCOM.COM ******************
To meet the requirements of different P.C.'s there are different versions
of INTERCOM packed into this archive.
These are the following:

MEDIUM     Processor 386/20-33 MHz
           This sub-version (m) is for the hamcommodem

SNEL       Processor 386/40 MHz-486/33 MHz
           This sub-version (s) is for the hamcommodem

COMSOUND   Processor 386/40 MHz-486/33 MHz
           This sub-version (sc) is for a combination of 
           the hamcommodem for receiving and a soundcard to
           generate the tones.

ALLSOUND   Processor 386/40 MHz-486/33 MHz
           This sub-version (sg) uses for both transmit and receiving
           a soundcard to generate the tones and decode the signals.
           There is not provided for an output to control the PTT.
           Not all soundcards will work and the number of funtions
           at this version is very limited.
           The analyzer function on the other hand is fully functional.
           To use everything you need an additional softwaremodule.

INTERDAC   Processor 386/40 MHz-486/33 MHz
           This sub-version (sd) is written for a specially for
           INTERCOM designed print which contains a D/A convertor,
           a tonegenerator and a number of switching outputs.
               
******************* OPERATING INTERCOM.COM *******************
Tuning: In FSK-modes tune until you see two crossed ellipses
        which are about equal in size.
        The single-tone modes are a little more difficult. Here, two lines 
        have to be as long as possible and about the same hight.
        Above the scope there is an additional tuning indicator.

Settings:
Use the functionkeys, press F1 for help.
The rest will become obvious, but for clarity:
F2      stop INTERCOM, ALT_X works also
F3      go to receive
F4      go to transmit
F5      Choose a Text
F6      Choose Control (see below)
F7      Choose Mode
F8      select different tones
F9      slow down / BPSK filter lower pitch
F10     faster    / BPSK filter higher pitch

F5 calls up a text from the file INTERCOM.CFG
This file needs to be of the following format:
At the start of each text are the letters "@@", the rest of this line
is the text title which will be listed when F5 is pressed.
Choose a text from this window with the up and down arrow keys.
<ESC> quits the window, <ENTER> confirms a selection.
The part of the file after the title line (until the next "@@"
combination), is put into the transmit buffer, just as if you typed it.
Use "CTRL-backspace" (" ") at the end of a text if you want to automatically
toggle to receive when the text is done being sent.
The maximum total length is 65535 bytes; up to 8 messages.
It is possible to make a separate .MSG file for every mode.
These should then have the following names:
MORSE.MSG       for  Morse
RTTY.MSG        for  rtty, all speeds
ASCII.MSG       for  ascii
TOR_FEC.MSG     for  tor fec
BPSK.MSG        for  bpsk

The files INTERCOM.CFG and MORSE.MSG are added as example-file's.
WARNING: When you call up a text this way during reception,
it is possible for the receive decoding to miss something or decode
incorrectly. This is because the video-biosroutines hold the interrupt.
There is no cure for this.

F6 lets you choose from:
     CLEAR TRANSMITBUFFER    Clears everything you typed
     REPEAT TRANSMITBUFFER   Starts transmitting from the start
     SCREEN TO *.PCX         Makes a screendump to the file INTER###.PCX
     DOSSHELL                Goes to DOS, INTERCOM remains active
     SIGNAL ANALYSER         audio spectrum analyzer with scope

F7 lets you choose from:
     CW              automatic 8-99 W.P.M
     TELEX           45, 50, 75 and 100 BAUD
     ASCII           110 BAUD
     SITOR FEC       MODE B COLLECTIVE
     SITOR ARQ       RECEIVE ONLY
     BPSK            31.25 BAUD BPSK
     FELDHELL        122.5 BAUD STANDARD

You can choose from these with the up and down arrow keys.
<ESC> quits the window, <ENTER> confirms a selection.

F8 lets you choose from different bandwiths and frequencies for the 
   mark and space tones. This is only possible during reception of 
   FSK-modes. With the up and down arrows you choose what to change
   and with the left and right arrows you choose what the value will be.
   The shown values are the settings of the custom-filter.
   When standard is activated, the tones are 1275/1445 Hz.
   This makes it possible to switch quickly between
   the standard and the custom tones.
   <ESC> quits without change, <ENTER> confirms the highlighted setting.
   Be careful not to select a filter which is narrower than the baudrate
   will allow.

F9 and F10 are the speed selectors. For the FSK modes you choose the baudrate.
In Morse you can set the receive speed manually, which is then locked until
the next time Morse reception is started.(or you can choose to wait or
Intercom to find the receive speed automatically).

For PSK31 these keys are to fine-tune the reception.

If the mouse control is activated, it is also possible to do the control 
functions with the mouse.
This is done by clicking the wanted icon with the left mousekey.
In every situation, a set of icons is shown relevant to the
available functions.
If you are in one of the choice-menus and do not want to select anything,
click the right mousekey instead of the wrong.
This is equal to the <ESC> key.
Unfortunately the activating of the mousecontrol will reduce the 
performance of the scope with 40%
Some examples: 16 MHz 386sx       max  1500 Pixels / Second
               33 MHz 486dx       max  9000 Pixels / Second
              180 MHz Pentium Pro max 30000 Pixels / Second.... YAMMIE!
              350 MHz Pentium II  max 56000 Pixels / Second.... YAMMIEYAMMIE!


When typing ahead during transmit with Intercom, you may set up an automatic
toggle to receive with the sign "" (CTRL-BACKSPACE).
This works only during type-modus, when the type-screen is gray.
(With VGA and a mousedrive installed there is a little Morse key 
on the right of the statusline).

Explanation of "TRANSMITBUFFER"
A part of the memory is reserved for typing text, which then can be sent.
Typing places a character in a memory cell and puts a pointer 1 place further.
Another pointer keeps track of what has already been transmitted.
Between these pointers is the contents of the buffer on the status line.
When a character is transmitted, the sending part "looks" to see if the 
transmit pointer has caught up with the type pointer.
If not, then the character on the transmit pointer is send and the
transmit pointer is increased by 1.
"CLEAR TRANSMITBUFFER"  resets both pointers.
"REPEAT TRANSMITBUFFER" resets the transmitpointer.

Explanation of "DOSSHELL"
If you use this, INTERCOM will start a new command processor with the
same environment as the previous one. INTERCOM will remain resident
in memory and occupies about 64K of memory. Type EXIT to return
to INTERCOM. Receiving will continue all the while until memory is full. 
It can contain about 1.5 hours of RTTY.
If you were transmitting when going to DOSSHELL, this will also continue.
The endsign "" will now be ignored because the control
of the basic functions is not active.
Another limitation is the use of programs wchich will control the timer
itself, usually causeing a "hangup".
Unfortunatly many programs with popup-windows use the timer too intensly.
Check for yourself to see what you can use.

Once you see how INTERCOM works, the directions become obvious.

**************** FEATURES/SYSTEM DEMANDS INTERCOM.COM ****************
INTERCOM uses specific AT-features, therefore it does not run on most
XT's, only on some boards which contain a 286.
Because of the grafical presentation you need an EGA or VGA.
Although not tested, INTERCOM should run from DOS 2.1 with 128 Kb free.
If you use DOS 3.0 or higher, INTERCOM can find the directory from whitch
the program started and it will look there for the logging file and
the other files for support.
To service the nessecary interrupts you need a processor with
a minimum clockspeed of 16 MHz.
If you only decode Morse, half of this will do.
If you only want the best, the fast version runs from
a 386/40 or 486/33 and higher.

Everything "on the air" is stored on disc as "INTERCOM.LOG".
This is everything which appears on the upper screen.(Exept incoming
Feldhell text). INTERCOM.COM runs best from a hard disc.
This is because of the earlier mentioned slow stopping of floppydrives.
Because the control functions are performed during the time left from
the decode-interrupts, it is important to load as few resident programs
which use processor time as possible.
With some programs the scope is even noticabily slower.
Try EMM386.EXE for instance!

For routing the received signal in the computer the so called "hamcommodem"
can be used.
Even better is the use of an A/D convertor. (at special print)
With this it is (still) better filtering signals.
To transmit there are a number of possibility's:
1) Direct from the comport      (Not for PSK!)
2) With an external generator
3) With a soundblaster
4) With a special INTERCOM print, look in INTERDAC.LZH
   In there is documentation and examples about this possibility.


INTERCOM version 4.2 is not public domain, but it is free.
The author reserves the copyright en all other rights.
With this exception, the program is not freeware but BEERWARE
This means that if you, being an INTERCOM-user ever meet me, i expect
you to offer me one of my favorite drinks.

ATTENTION!
The version 3.50 is the first and the last version where all the
options for the Hamcom-modem and the special INTERCOM-print
are identical, exept for the signal analysis.
It may be clear that from this point on i more and more are gone
make use of the additional possibilitys i have with this print.
To get an impression of the analyser with the standard version
you can type from the INTERCOM dosshell:
        INTERFFT DEMO  <enter>

For the latest version you can look at my homepage:

    http://ourworld.compuserve.com/homepages/pa3byz/
    Voor Europa:
    http://home.uwnet.nl/~pa3byz

Or look via Altavista for 'PA3BYZ'

It is NOT ALLOWED to:
 - Modify or patch the program, or in any way disassemble or change anything.
 - distribute the program without all the matching files
 - Distribute the program under another name than INTCOM42.*
   only the extension (*.ARJ, *.LZH, *.ZIP and others) may vary.
 - Ask money other than the real costs of transport with a maximum of
   $ 5.-, which means no price increase on an information carrier because
   this program is on it (softwarehouses!)
   Asking money for each program is strictly forbidden under this concept.
        The 5-dollar-a-disk principle IS allowed.
It IS PERMITTED to:
 - use this program freely
 - make as many copies as you like and give them away, if complete:

        # FILE_ID.DIZ           DESCRIPTION/ANNOUNCEMENT
        # INTERCOM.TXT          this file
        # INTERCOM.CFG          example file for configuration
        # MORSE.MSG             example file for Morse messages
        # INTERFFT.EXE          additional signal analyser for INTERCOM
        # INTERCOM.ICS          file containing icons
        # MEDIUM.LZH            for medium processor
        # SNEL.LZH              for fast   processor
        # COMSOUND.LZH          for fast   processor with soundblaster/hamcom
        # ALLSOUND.LZH          for fast   processor with soundblaster
        # INTERDAC.LZH          for fast   processor with INTERCOMPRINT
        # MORSELES.BAS          BASIC program to generate random
                                      characters for INTERCOM
   
   AND UNALTERED! WATCH IT!
   By using the program you accept these conditions.

there is no registration and no payment


NO GUARANTEE !

Because this program is free from licence, the author gives no guarantee
in any form.
Anyone who thinks of any action on behalf of local regulations,
is not allowed to use this program!

Filosofie behind intercom..
What filosofie, you'll say- yuk! 
Go away and leave me, what with filosofie.
Despite this, i will not withold the thought behind this program.
It is completely concentrated on the reliable detection of
the Morse, mark- en spacetones.
The rest of the program may seem a bit "bald", but i look only at the goal,
the making of connections.


I wish you lots of fun with INTERCOM.

At last the circuitry of the hamcommodem,
together with the AFSK generator i use.

Ĵ< = DIODE
Without further notice the values are in Ohms en Microfarad


                              Receive  Circuit
      Transceiver                                                Computer
                                                                  RS-232
                      Diodes 1N4148                             25-Pin  9-Pin
                      Opamp   A741 (of equal)
                                                   Ŀ
                                 Ĵ<Ĵ 560 > DTR 20     4
              100 nF      3 \ 7               
        >ĴĴ+\     ĳĴ>          
                             \ 6            Ŀ  
      AF IN                     >ĳĳĳĴ 680 ĳ> DSR  6     6
                           2   /               
        >Ŀ          Ĵ-/     Ĵ<Ŀ          
                           / 4                     
                                                    
                      Ŀ                      
                      ô 100K ó                    
                      ٳ              Ŀ  
                            ĳĴ>Ĵ 560 ĳ> RTS  4    7
             100k           +          ٳ 
                         +                    
                      0.47 10F    10F  ĳĳ> GND  7    5
                     16V 16V             
        <Ŀ                             
    PTT                                                   
                              \    Ŀ                
                               Ĵ 2K2 Ĵ< 
                              /                     
                                                           
                                                           
                                                         
        <Ŀ                              
     KEY/FSK/PSK                                           
                              \    Ŀ                 
                               Ĵ 2K2 Ĵ<
                              /    
                             
                             
                            

            < PLUS 12V
                                             0.1F
                            ĴĿ
           2K7              vĿ             
              ĳĳĴ1        16            
                    1F                           
               ĳ ĳĴĴ2        15            
        82K          +                 Ŀ   
             82KĳĴ3        14Ĵ 220 Ŀ 
 AUDIO <ĳŴ                         
 OUT                Ĵ4   XR   13 
            50K        0.1F    2206                 
                  82K  ĴĴ5        12Ĵ
                                                      
                       Ĵ6        11            
                                                       
            Ŀ        Ĵ7        10Ŀ      
                                                  
                        Ĵ8         9ĳĳ< FSK IN
        1K2                           
              ĳĳĳĳĳĳ< PSK IN
                                         +    
                         2*4K7                   
                                           10F 
            6k8                                   
                      Ŵ2*5K MULTITURN            
                             POTMETER             
            < GROUND
 The resistors of 4K7 are for a mark/space of 1275/1445 Hz.
 For 425/595 Hz these should be about 15K.
 It is recommended to make the combination at pin 7 switchable to a second
 set of resistors, which is then tuned to 1003 Hz for BPSK.



It is possible to obtain the tones from the communication-port
Due to the dividing in the PC this is less suitable and 
ment for testing purposes.
The 2206-generator or soundblaster is allways the best.
For who still wants the simplest:

    Computer
     RS-232
  25-Pin  9-Pin

      2       3 >Ŀ
                                  
                                   22k
                                  
                                   Ŀ
                                            
                                         1k   1k
                                            
                                               > MIC
                                C1        C2
                                            
                                   100nF       100nF
      7       5 GROUND >> GROUND
The PSK-mode cannot be generated this way, therefore the the generator
with the XR2206 is needed.
The resistor of 22k can be adjusted for the sensitivity on the                                         
microphone input
                                         
                                         ////
                                        ( ) 
 oOO(_)OOoķ
                                                   
                P. M. Haringsma                    
                dr. Hattinkstr. 13                 
                8563 AC  Wijckel                   
                                                   
                tel: +31 514 60 3310    PA3BYZ     
                The Netherlands                    
           E-MAIL PA3BYZ@COMPUSERVE.COM            
 Ľ

Although the idea, the concept and all of the programming
have been entirely my work, i have adapted some things from others.
Therefore i want to thank:

H.C. de Vries        Made the logo
                     Keep up the good work Harry!

Guenther, DK6MC      Translated the German text for me

Dan Rollins          Coded linedraw, algorithm described by Michalsky
                     Used for the hands of the clock

Dan Lee              Coded fast circle routine
                     Used for the face of the clock

Mike Cook, AF9Y      for his Fast Fourier routine in the program FFTEME 
                     Used it in the program INTERFFT

Bernard Schmitz/Christopher L. Tumber coded/improved Flames
                     inspired by fire from Jare of VangeliSTeam.
                     Used in testversions of intercom

Benjamin Petersen    for his example of a rotating font

Koos Fockens, PA0KDF Wrote an inspiring article about filtering


HISTORY:
MARCH 1993 release version 1.1
           receive RTTY 45,45 and 50 baudot

APRIL 1993 ready version 2.3l, 2.3a and 2.3f
           for (l)azy, (a)verage and (f)ast PC
           transmit and receive of:
           Morse 8-100 WPM, rtty 45 en 50 Baudot, ascii 110 Baudot
           Getting text from file INTERCOM.CFG with ALT-F1
           Improved Hercules-subroutines, required for choosing menu's
           Choosing controlfunctions with ALT-F2

JUNI 1993  Internal memory-use adjusted for Microsoft mousedriver(s)
           Not only adjust the time, also the date (for the nightowls)        
           
JUNI 1993  tones changed from van:
             FSK tones       10.000 samples  375/545 Hz, direct calculation
             For Morse:       6.000 samples      400 Hz, direct calculation
           to the ones mentioned before
           At FSK-modes a waiting time between transmit and modulation.

AUG.  1993 Release version 2.4 (l,a and f)
           With CW the bandwidth of the Morsefilter
           is made dependent of the received CW-speed.
           CW stays a difficult mode for a computer.
           It detects no difference between fading and the normal
           volumechanges at the keying.

AUG.  1993 Release version 2.5 (l,a and f)
           No generator needed anymore, makes it's own tones.

JAN.  1994 Release version 2.6 (l,a and f)
           Added SITOR FEC, some minor modifications.
           Improved timing.
           Detects 286 and up

AUG.  1994 Version 3.0 (l,a and f)
           Change functions of functionkey's
                  stop-condition SITOR-FEC
                  execute standard timer-interrupt again

           Adding configuration of: interface 
                                    logging 
                                    video
                                    startmode
                                    squelch
           Extended VGA-control on behalf of some naughty BIOS-'es
           Cleared a bug which prevented some programs to be started
                        after intercom.

SEP.  1994 Release version 3.1 (l,a and f)
           Some minor display modifications.
           More contstant speed of original interrupts
           Implemented dosshell
           Cleared a bug leaving the comport in a messy situation
           Improved syncronisation with TOR-FEC
             (free-run now 1/2 bit drift in 69 sec, was 28 sec, demand 15 sec)

OCT.  1995 Release version 3.2 (l,a and f)
           Reckognise both kind of arrow-keys
           Improved video-control for certain (notebook) VGA-cards
           COM-port generator can be switched OFF in the INTERCOM.CFG file
           Improved comport-handling for low-power types
           Internal memory-use adjusted for PS/2 mousedriver(s)
           Extending RTTY-speeds with 75 and 100 BAUD
           Solved a VERY nasty and hard to find bug with cirrus cards.

APR.  1996 Release version 3.3 (t,m,s and sc)
           Added detection for multitasking.
           Smoothened screendisplay.
           Added logo in main screen
           Added .MSG files per mode.
           Added English texts, no more separate versions per language
                 This made the subversions LAZY, AVERAGE and FAST unneccesary.
           Added soundblaster "generator".
           Added mousecontrol.
           Improved scopecontrol, is now giving 9000 pixels/sec, was 2500
           Detection for internal changes in INTERCOM (antivirus)
           
MAY   1996 Release version 3.4 (t,m,s and sc)
           INTERCOM can find its own directory for logging and support files
           Transmitspeed is now exactly 45.45 baud
           Minor improvements in placing in memory
           Made the program suitable for not-Intel and Pentium
           
MAY   1997 Release version 3.5 (t,m,s,sc and sd)
           Cleared a bug with the Morsetone.
           Defined transmitting speeds more precisely
           Added German texts.
           Added clock in the right-above side.
           Improved the mousecontrol.
           Added different tones.
           Improved the filtering of the tones.
           Minor improvements with screen display.
           Added version for special INTERCOM print.
           Added signal analyzer ** works only with INTERCOM print **.
           
JUNE  1997 Bug release 3.51 (t,m,s,sc and sd)
           Minor improvements with the mousecontrol.
           Improved putting the icons on screen.
           Added utility program to adjust the INTERCOM-pcb.
           Added a so called "easter egg".
           With some comports one had to start twice for the generator.
           Added EGA screens.
           Improved detection for ps/2 mice.

OCT.  1997 Bug release 3.52 (t,m,s,sc and sd)
           Improved control for play-hard-to-get EGA cards.
           Silencing tone Intercom-print functions also under OS/2
           Configuration settings are now case-insensitive.
           Demo option for the analyzer.

NOV.  1997 Bug release 3.53 (t,m,s,sc and sd)
           After using analyzer timing was changed, improved.
           Broadened tuning area Morse.
           Flush diskbuffer before shelling to dos.
           Added picture of the INTERCOM-pcb.

MARCH 1998 Bug release 3.54 (t,m,s,sc and sd)
           Speeded up the plotting part of the analyzer
           Compacted code
           Polished up the graphics
           Optimised sensitivity of filtering.
           
JUNE  1998 Bug release 3.55 (t,m,s,sc and sd)
           The previous version was forgotten how to decode Morse.

FEB   1999 Release version 4.0 (t,m,s,sc,sg and sd)
           Expanded the communication between INTERCOM and INTERFFT.
           Improved the detection of Morse-tones.
           Improved the timing of the com-port generator.
           Added the mode FELDHELL.
           Solved an identity-crisis of INTERCOM. (it's a girl)
           Added the possibility of an external softwaremodule.
           Added the 'ALLSOUND' sub-version
           Removed redundant switching of the comport with sub-version sc
           Added the mode SITOR ARQ receive only.
           Cleared a bug which deleted part of the screen.

MAY   1999 Release version 4.1 (t,m,s,sc,sg and sd)
           Added the mode BPSK.
           Better defined tones for receiving.
           Improved control of soundcard.
           Detects 386 where neccesary.
           Improved Morse speed area.

JUN   1999 Bug release 4.11 (t,m,s,sc,sg and sd)
           Changed the tuning direction of single-tone modes.
           Added a tuning-indicator for the single-tone modes.
           Added AUTO-LINEFEED and configuration for it.
           Cleared a bug which missed the first BPSK character to transmit.
           Narrowed the BPSK-filter.
           Cleared an error in the texts when changing language.

OCT   1999 Release 4.12 (t,m,s,sc,sg and sd)
           Manually setting and holding the Morse speed.
           Added the making of a screendump to *.PCX
           Feldhell now displays graylevels instead of black and white
                For this reason Hercules is only supported 
                in the slow version.
           Added COMport interface COM3 u/t COM5

JAN   2000 Release 4.2 (m,s,sc,sg en sd)
           Extended the filter calculations from 16 to 32 bits.
                This means the slow 286 subversion no longer exists.
           Adjusted squelch to match enhanced dynamic range.
           Improved synchronisation of BPSK.
           Also release of spin-off program SMALLCOM.


         [1;30;47m[0;37;40m[1;30m[0;37;40m[1;30;47m[0;37;40m
         [1;30;47m[0;37;40m              [1;30m[47m[0;37;40m
         [1;30;47m[40m[0;37;40m         [1;30m[0;30;47m[1;40m[0;37;40m  [1;30m[47m[0;37;40m
         [1;30;47m[40m[47m[40m[0;37;40m [1;30m[47m[40m[0;30;47m[37;40m[1;30m[0;37;40m     [1;30m[47m[0;37;40m
         [1;30;47m[40m[47m[40m[47m[0;37;40m[1;30m[37;47m[0;37;40m[1;47m[40m[0;37;40m[1;30m[0;37;40m [1;30m[0;37;40m     [1;30m[0;37;40m
         [1;30m[0;30;47m[1m[0;37;40m[1;47m[0;37;40m[1m[47m[40m[0;37;40m[1;30m[0;37;40m      [1;30m[47m[0;37;40m
         [1;30m[47m[0;37;40m[1;47m[0;37;40m[1m[47m[0;37;40m[1;30m[0;37;40m        [1;30;47m[0;37;40m
         [1;30;47m[0;37;40m [1;47m[40m[47m[40m[47m[0;37;40m[1;30m[47m[40m[0;37;40m      [1;30m[0;37;40m
         [1;30m[47m[0;37;40m[1;30;47m[40m[47m[40m[0;37;40m      [1;30m[0;37;40m
         [1;30;47m[0;37;40m [1;30m[0;37;40m [1;30m[0;37;40m[1;30m[0;37;40m  [1;30m[0;37;40m [1;30m[0;37;40m       [1;30m[0;37;40m
         [1;30m[0;37;40m[1;30;47m[0;37;40m[1;30;47m[0;37;40m[1;30;47m[0;37;40m[1;30m[0;37;40m[1;30;47m[0;30;47m[1m[40m[0;37;40m          [1;30;47m[0;37;40m[1;30;47m[0;37;40m
         [1;30m[0;37;40m[1;47m[0;37;40m[1;47m[0;37;40m[1;30m[0;37;40m         [1;30m[0;37;40m[1;30;47m[0;37;40m[1;30m[0;37;40m
         [1;30;47m[40m[0;37;40m[1;30;47m[0;37;40m[1;30m[0;37;40m       [1;30m[0;37;40m [1;30m[47m[40m[47m[40m[0;37;40m
         [1;30m[47m[0;37;40m[1;30;47m[0;37;40m[1;47m[30m[40m[47m[0;37;40m[1;47m[0;37;40m[1;30m[0;37;40m      [1;30m[0;37;40m [1;30m[0;37;40m
         [1;30m[0;37;40m[1;30;47m[40m[0;37;40m[1;30;47m[0;37;40m[1;30;47m[40m[0;37;40m   [1;30m[47m[40m[0;37;40m
         [1;30;47m[0;37;40m[1;30m[0;37;40m  [1;30m[0;37;40m  [1;30m[0;37;40m
         [1;30m[47m[40m[47m[0;37;40m[1;30m[0;37;40m       [1;30m[0;37;40m
         [1;30m[47m[0;37;40m[1;30;47m[0;37;40m[1;30;47m[40m[0;37;40m   [1;30m[0;37;40m    [1;30m[0;37;40m
         [1;30m[0;37;40m[1;30;47m[40m[0;37;40m   [1;30m[0;37;40m   [1;30m[0;37;40m
         [1;30;47m[40m[47m[0;37;40m[1;30;47m[40m[0;37;40m      [1;30m[0;37;40m [1;30m[0;37;40m
         [1;30;47m[40m[0;37;40m       [1;30m[0;37;40m  [1;30m[0;37;40m
         [1;30m[0;37;40m          [1;30m[0;37;40m [1;30m[0;37;40m    [1;30m[0;37;40m [1;30m[0;37;40m
         [1;30;47m[40m[47m[0;37;40m[1;30;47m[40m[0;37;40m
         [1;30;47m[0;37;40m[1;30m[0;37;40m   [1;30m[47m[40m[0;37;40m[1;30m[0;37;40m                    [0m
