Descrizione del progetto SuperVozelj (versione V75 del 10/11/1995)
   ==================================================================

                         Matjaz Vidmar, S53MV

 ( traduzione Andrej Santin, IV3KCB @ IV3CJT,S50BOX,S50BBS del 4/2/96 )


1. Descrizione
--------------

Il progetto del SuperVozelj (super nodo, si legge SUPERVOZEL
n.tr.) include la progettazione e la costruzione di rtx,
computer per nodi (volgarmente TNC n.tr.) ed il relativo
software per costruire una rete radioamatoriale per il
packet-radio la piu' veloce possibile. I nodi SV usano i
microprocessori della famiglia Motorola MC680xx e percio' il
software e' scritto in assembler 68k. Questa configurazione
permette velocita' di alcuni 100kbps usando gli interrupt e fino
ad alcuni Mbps usando circuiti DMA MC68450 o processori MC68302
e suoi successori. Il software deve essere scritto in modo tale
che sia il piu' indipendente possibile dalla configurazione
hardware. In questo modo si facilita' lo sviluppo senza grosse
modifiche.

La versione attuale funziona come nodo packet radio a 8 canali. Usa una
CPU MC68010, DMA MC68450 e quattro SCC Z8530 (uno su DMA e tre su
interrupt). In questa configurazione si raggiungono 4Mbps con la DMA
(somma dei due canali) e 200kbps con gli interrupt (somma delle
velocita' dei 6 canali con il clock della CPU a 12.5 MHz). Il sorgente
di SVV75 in assembler 68k (con i commenti) e' lungo 160170 bytes, compilato
15914 bytes.

La versione V75 richiede il seguente hardware:
(1) piastra CPU del computer DSP con 16k EPROM 27128
(2) una piastra za 1Mbyte (con 4 chip per 512kbyte) sull'indirizzo $200000
(3) piastra DMA-SCC con MC68450 e un Z8530
(4) piastra SCC con tre Z8530
(5) piastra bus (5 slot) e alimentatore del computer DSP
(6) due sincronizzatori di bit/scrambler per 1.2Mbps
(7) fino a 6 diversi modem con relativo circuito DCD
(8) rtx adeguati (banda passante, txdelay, ecc... n.tr.)
(9) piastra per il reset hardware remoto
Per questa configurazione vale: SCC PCLK >= MC68010/2. Clock tipici
sono: 12MHz per MC68010, 8MHz per MC68450 e Z8530 PCLK, 4.9152MHz per i
clock dei canali su interrupt e 9.8340 per la sincronizzazione di bit
dei canali DMA a 1.2288Mbps.

SVV75 puo' funzionare anche come nodo a 6 canali senza la scheda DMA. In
questo caso bisogna modificare il valore della constante "nkanal" e
togliere le chiamate dei sottoprogrammi "inidma" e "dmaznak" (oppure
instradarle sull'istruzione "rts"). Le tre modifiche sono segnalate nel
sorgente con un punto esclamativo.

2. Uso del SuperVozelj
----------------------

Il SuperVozelj puo' funzionare sia come packet-radio digipeater
sia come nodo PR. In tutti i modi di funzionamento e' molto
importante l'uso corretto dello SSID dei nominativi.

Il SuperVozelj DIGIPEATER si puo' usare solo con il suo
nominativo e non con il suo IDENT. Uso dello SSID:

(1) se lo SSID del nominativo del SuperVozelj e' 0, allora il
    frame viene ritrasmesso sullo stesso canale.
(2) se lo SSID del nominativo del SuperVozelj e' uguale al
    numero di un canale esistente allora il frame viene
    ritrasmesso sul canale sudetto. In questo caso lo SSID del
    SuperVozelj viene scambiato con il relativo numero del
    canale per consentire la risposta.
(3) se lo SSID e' maggiore dei canali disponibili il frame
    viene rifiutato.
Il SuperVozelj nel modo digipeater modifica solamente lo SSID e
il digi bit del proprio nominativo e lascia inalterato il
contenuto del frame ritrasmesso.

Il NODO SuperVozelj pone in collegamento stazioni che usano il
protocollo AX.25 standard. In questo modo e' compatibile con
tutti i sistemi esistenti. Per la comunicazione tra nodi
SuperVozelj si possono pero' usare anche altri protocolli e
altri formati dei frame. La versione attuale usa solo il
frame SABM (connect request) modificato e percio' non
standard per comunicare con altri SuperVozelj.

A sua volta pero' usa una versione dell'AX.25 migliorata con
questi vantaggi:

(1) usa esclusivamente la versione 2 del protocollo AX.25,
    perche' la versione 1 non viene piu' usata. La trasmissione dei  e relative conferme e' mantenuta al minimo come specificato
    per l'AX.25V2. Con il comando X l'utente puo' cambiare il protocollo
    d'ingresso/uscita con uno piu' efficente che non manda .
(2) La trasmissione e' controllata con la logica
    slottime/p-persistence. La lunghezza del slottime e' uguale
    al txdelay (flag iniziali), p-persistence e' la probabilita'
    di andare in trasmissione quando il DCD non e' attivo.
(3) il tempo di attesa alla conferma (FRACK) e' proporzionale al
    numero delle ripetizioni (RETRY). In questo modo con
    l'aumento del traffico tutti i collegamenti rallentano per
    evitare eventuali sconessioni.
(4) il tempo di attesa (FRACK) e' proporzionale anche ad un
    numero casuale: cosi' si abbassa la probabilita' di
    collisione fra pacchetti di due stazioni che non si sentono
    (problema dei terminali nascosti n.tr.).
(5) dopo la ricezione di una conferma del pacchetto il SuperVozelj
    aspetta per il tempo di FRACK prima della trasmissione del prossimo
    pacchetto: in questo modo si diminuisce la velocita', pero' si da
    piu' possibilita' alle stazioni piu' deboli di accedere al canale !
(6) il numero dei frame in un pacchetto (MAXFRAME) dipende dalla
    qualita' del collegamento e si aggiorna automaticamente. Ogni frame
    REJ (perdita di frame nella sequenza) e ogni mancanta conferma
    decrementano di 1 MAXFRAME. Ogni RNR (richiesta di fermare la
    trasmissione) mettono MAXFRAME a 1. Ogni conferma valida invece
    incrementa di 1 fino ad un massimo di MAXFRAME a 7.
(7) il frame RNR aumenta il tempo di attesa alla ripetizione
    del SuperVozelj rapportato al FRACK del canale specificato.
(8) il SuperVozelj da la conferma solo se l'altra stazione lo
    richiede con  o se non c'e' traffico di frame Info.
    Cosi' diminuisce la probabilita' che alcuni programmi per PR
    (WA8DED, TheFirmware...) "impazziscono"  se ricevono troppi
    pacchetti.
(9) nel caso di un cattivo funzionamento del circuito DCD
    (problemi con il modem, disturbi intenzionali ecc.) il
    SuperVozelj va in trasmissione dopo un certo tempo (minimo
    FRACK) anche se il canale pare occupato (male minore).

Il SuperVozelj distingue fra collegamenti d'entrata e d'uscita.
Il collegamento in entrata e' caratterizzato dal nominativo
dell'utilizzatore e dal nominativo o ident del SuperVozelj con
uno SSID qualsiasi. Il collegamento in uscita ha il nominativo
dell'utilizzatore con lo SSID incrementato (ciclicamente) di 1
(se non specificato in altro modo nel comando), e il nominativo
della stazione da chiamare. Naturalmente i collegamenti sia
d'entrata che d'uscita possono avere i nominativi di eventuali
digipeater. Il SuperVozelj sa distinguere anche collegamenti
che si distinguono soltanto nei digipeater diversi.

Per effettuare un collegamento packet-radio tramite SuperVozelj
bisogna prima di tutto chiamare il SuperVozelj usando o il
nominativo o l'ident. In questo modo si entra nel modo comando
dove e' possibile usare alcuni comandi: conettere un'altra
stazione, ricevere alcune informazioni sul funzionamento del
sistema e di chi lo sta usando e la possibilita' ai sysop di
cambiare certi parametri. Nel modo comando e anche disponibile
un semplice modo conferenza.

Il nodo SuperVozelj interpreta un frame AX.25 come un
comando senza tener conto di eventuali CR, LF o altri caratteri
dello stesso frame. Percio' e' meglio settare il TNC e il
programma terminale in modo che venga trasmesso il pacchetto
quando si preme il CR (normalmente sono settati in questo modo).

Il SuperVozelj puo' essere chiamato con uno SSID qualunque. Percio' c'e'
la possibilita' di 32 collegamenti contemporanei (16 diversi nominativi
e 16 diversi ident). Non e' possibile collegare il SuperVozelj con lo
stesso call e SSID, ma con diverso SSID da parte dell'utilizzatore. In
questo modo si evitano problemi di looping o di errori nelle chiamate.

Il SuperVozelj risponde sempre ad ogni comando valido o errato,
sempre che ci sia ancora spazio in memoria (20 frame AX.25
per ogni utilizzatore). Se il collegamento d'uscita s'interrompe
viene subito segnalato al chiamante e si distruggono i dati
della memoria buffer. Se l'utilizzatore aveva chiamato il
SuperVozelj con lo SSID 0-11 il SuperVozelj viene posto di nuovo
nel modo comando (funzione RECONNECT). Se invece lo SSID del
chiamante era 12-15, il SuperVozelj segnala l'errore e
interrompe il collegamento.

Se invece s'interrompe la conessione d'entrata il SuperVozelj lo
segnala al chiamato e disconette. Comunque il SuperVozelj
segnala sempre perche' ha interrotto la conessione: troppe
ripetizioni, stazione occupata (busy), sconessione dell'altra
stazione, chiamata con nominativi non permessi o conferma la
richiesta di sconessione.

Il SuperVozelj ha la possibilita' di effettuare chiamate da
tabelle che vengono aggiornate o dal sysop (tabella A), oppure dai
SuperVozelj tra loro (tabella V). In questo caso cerca il nominativo
nella tabella (non tiene conto dello SSID) e trova la strada (path
n.tr.) per arrivarci e chiama avanti. In questo modo e' assicurata la
compatibilita' con tutti i nodi conosciuti: TheNet, Flexnet, SuperVozelj
ecc... Nella tabella possono essere immessi anche i nominativi dei BBS,
DX-Cluster ecc...

Se il nominativo della stazione che si chiama compare nelle
liste degli utilizzatori correnti (comando U) oppure precedenti
(comando G) il programma si comporta in questo modo: da solo fa
la chiamata su un specifico canale con lo SSID relativo. Se la
stazione ha chiamato tramite digipeater, il SuperVozelj chiama
tramite gli stessi digi. Se invece la stazione e' entrata
tramite un'altro SuperVozelj, allora il programma prima chiama
il SuperVozelj interessato al quale passa la richiesta di
conessione.

Esiste una priorita' nelle chiamate automatiche: prima viene controllata
la lista caricata dal sysop (comando A), poi la lista dei nodi che si
comunicano tra loro i SV (comando V), poi la lista corrente (qso vivi)
(comando U) e per ultima la lista dei precedenti collegamenti (qso
morti) (comando G). Ovviamente da ogni lista si prende il primo
nominativo che si sta cercando. ATTENZIONE ! Questo automatismo puo'
essere sempre disabilitato con la chiamata su uno specifico canale
oppure tramite digipeater.

I comandi del SuperVozelj:
(viene decodificato solo il primo carattere della prima parola)

A(vtomat) ...mostra la tabella per le chiamate automatiche. Ogni
          riga incomincia con il nominativo da chiamare, seguono
          i nominativi dove chiamera' il SuperVozelj. Ci sono
          alcuni casi in cui il SV riconosce chiamate anomale e
          le ignora (nominativi uguali, chiamata via digi,
          chiamata su un solo canale ecc.)

C(onnect)     .......................
...tenta il collegamento. Il SuperVozelj chiama su tutti i
   canali a disposizione contemporaneamente ed effettua il
   collegamento la dove trova la prima risposta. Attenzione
   all'ordine inverso dei nominativi dei digipeater! Tra i
   nominativi non ci devono essere altre parole (V o VIA ecc...)
   poiche' vengono interprettate come nominativi. Se il
   nominativo compare nella tabella, usa queste informazioni per
   continuare a chiamare. Se non si specifica lo SSID viene
   usato quello, con il quale e stato chiamato il SuperVozelj:
   in questo modo si semplificano le multiconessioni. Se invece
   vogliamo chiamare una stazione con lo SSID -0, bisogna
   specificarlo, esempio: C S53MV-0. Il SuperVozelj controlla
   che non ci siano piu' collegamenti con gli stessi nominativi
   e segnala gli eventuali doppioni non consentendo la
   conessione.

C(onnect)      .............
...tenta il collegamento solo sul canale specificato. Il numero
   del canale va da 0 a 8. Tutte le altre combinazioni di numero
   o caratteri vengono interprettati come nominativi. Se si
   chiama su un canale specifico oppure via digipeater si esclude i vari
   automatismi ! Il canale 0 viene usato quando si vuole chiamare su
   tutti i canali. Ogni chiamata viene passata avanti dal SuperVozelj
   con lo SSID del chiamante incrementato di 1 (ciclicamente). In questo
   modo si distinguono i collegamenti d'entrata e uscita. Volendo si
   puo' specificare un'altro SSID d'uscita aggiungendo al comando
   connect -. Attenzione: nel caso di SSID sbagliati si
   rischia di compromettere anche il proprio link con il SuperVozelj. La
   richiesta di un particolare SSID viene trasmessa avanti ad eventuali
   altri nodi, logicamente viene interpretata corettamente solo dai nodi
   SuperVozelj.

D(atum/ura) ...stampa data e ora se sono presenti nella piastra
            CPU i due integrati uPD71055 e uPD4990.  Non essendo
            usati dal SuperVozelj possono essere omessi.
            L'orologio puo' essere anche software.
            uPD71055 viene usato contemporaneamente anche per
            telecomandi/telemetria e da altri circuiti del
            SuperVozelj.

G(lej) ...stampa la lista degli utilizzatori precedenti nel
       formato:  . Dal carattere
       che compare tra il numero del canale e il nominativo si
       puo' distinguere:
       : ...entrata diretta su SV (o dal TheNet),
       * ...entrata su SV VIA digi,
       > ...entrata da un SV.
       Il nominativo viene messo nella lista solo dopo la
       sconessione dal SuperVozelj. L'ordine nella lista
       corrisponde all'ordine cronologico delle sconessioni.
       Nella lista si mantiene l'informazione piu' recente della
       sconessione compatibilmente con lo spazio disponibile per
       la lista.

G(lej)  ...
...cerca il nominativo nella lista e stampa l'ora e la data
   dell'ultima sconessione (se sono presenti i due integrati
   uPD71055 e uPD4990 oppure la procedura software), segue il
   numero del canale d'entrata, numero di collegamenti
   effettuati su questo canale, il nominativo d'entrata (vedi
   comando U) e il numero totale dei caratteri transitati nelle
   due direzioni. Questo per ogni canale. Si puo' usare il
   carattere wildcard "*" ad esempio per vedere un gruppo di
   nominativi, es.: G IV3*.

G(lej)   ...
...cerca il nominativo nella lista sul canale prescelto.Si puo'
   usare il carattere wildcard "*". Puo' essere utile nel caso
   di liste molto lunghe con G .

H(elp) ...stampa il testo di help (normalmente in inglese).

I(nfo) ...stampa il testo info.

N(ovice) ...stampa il testo novice (notizie).

O(dzivi) ...stampa i tempi di risposta dei nodi vicini ai quali
         trasmette la lista dei nodi. Ogni riga inizia con il numero del
         canale, segue il call con relativo SSID. Tra parentesi il primo
         numero si riferisce ai minuti dall'ultima chiamata effettuata
         con successo, il secondo invece la lunghezza del collegamento
         in millisecondi. Il canale 0 significa che la stazione ha
         risposto con un DM (BUSY).

P(oslusa) ...stampa la lista dei nominativi ascoltati delle
          stazioni che hanno trasmesso pacchetti UI (beacon) in
          diretta (non via digi). Ogni linea e' preceduta dal
          numero del canale, segue il nominativo ascoltato con
          relativo SSID. Fra parentesi il primo valore sono i
          minuti trascorsi dall'ultimo ascolto e il numero
          totale dei pacchetti ascoltati.

Q(uit) ...il SuperVozelj interrompe la chiamata con l'utilizzatore.

S(poroci)   ...
...manda il testo al call (o ad un gruppo) se si trova nel modo
   comando o se chiama e sta aspettando la conessione. Lo SSID
   non viene controllato! Si puo' usare il carattere wildchar
   "*": S *  manda il testo a tutte le stazioni che sono
   nel modo comando, S IW*  viene mandato a tutti gli IW
   e permette un semplice modo conferenza.

S(poroci)   
...uguale a Sporoci, pero' solo su un canale specifico.

U(porabniki) ...stampa il numero degli utilizzatori conessi al
             SuperVozelj e il numero di blocchi memoria liberi.
             Segue la lista di tutti i collegamenti in corso.
             Ogni collegamento (d'entrata o d'uscita) e'
             descritta con il numero del canale, MAXFRAME
             momentaneo, il call con eventuali digi e la quantita'
             di traffico in entrambi in sensi. L'ordine e'
             sempre   .
             L'eventuale nominativo tra parentesi, es. (S55YNG),
             significa il SuperVozelj della prima entrata ovvero
             il nominativo da chiamare avanti. In mezzo e'
             segnalato il numero dei pacchetti in attesa per
             entrambe le direzioni.

U(porabniki)  ...si limita a stampare gli utilizzatori
                      di un solo canale. Si usa quando ci sono
                      molti utilizzatori e il comando U diventa
                      illegibile perche' troppo lungo.

V(ozlji) ...stampa la tabella dei nodi che i SV si mandano tra di loro
         (autorouting). La tabella contiene i nominativi e un numero che
         indica la qualita' e viene incrementato ad ogni collegamento.
         (nel testo originale Matjaz usa una parola che indica la
         qualita' in base alla velocita' di collegamento, percio'
         valori bassi (1-9) indicano un link corto e veloce, valori medi
         (decine) link lunghi, valori alti (centinaia) link morti
         n.d.t). Alla fine viene stampato il valore massimo possibile e
         la costante (unita') di tempo per calcolare i valori di
         qualita'.

X  ...comando per scegliere il protocollo d'entrata e d'uscita:
           0 = AX.25V2 sia in che out (protocollo standard)
           1 = AX.25V2 in, V1 out (senza )
           2 = V1 (senza ), AX.25V2 out
           3 = V1 sia in che out (entrambi senza )
           I collegamenti tra SuperVozelj sono sempre V1
           indipendentemente dal valore di X. Il valore X non viene
           trasmesso avanti. Il valore di partenza per gli user e'
           sempre X 0 e X 2 se la chiamata viene da parte di un'altro
           SV.

Dopo il comando connect, il SuperVozelj provvede a trasferire
alcuni (uno o due) frame/comandi seguenti alla stazione
chiamata. Nel caso si voglia interrompere una richiesta di
conessione mandare percio' tanti CR (ritorno carello, ovvero
frame vuoti) fino a quando il SuperVozelj non ci risponde con la
linea del prompt e il nominativo del SuperVozelj.

L'inoltro automatico della richiesta di conessione semplifica la
ricerca della strada fino al nostro corrispondente. Se il
nominativo compare nella lista U o G, basta dare il comando C
. I SuperVozelj automaticamente fanno la ricerca
inversa attraverso gli altri SuperVozelj e anche tramite normali
digipeater (percio' anche tramite i nodi Flexnet !).

ATTENZIONE! Il buon funzionamento di questo automatismo richiede
un minimo di attenzione anche da parte degli utilizzatori. Sono
almeno due le cose alle quali bisogna stare attenti:
(1) Evitate i loop ritornando al SuperVozelj iniziale. Nel caso
    ci chiami qualcuno i SuperVozelj lo mandano in giro
    all'infinito provocando QRM inutile sui canali gia'
    sovraffollati. Se per caso vi succede di formare un loop
    bisogna disconettersi SOLO con il comando Q(uit) e MAI
    con il DISC del proprio TNC ! Nel caso avete dei dubbi
    controllate le liste G(lej) che devono contenere
    informazioni logiche. Ogni chiamata aggiorna le varie liste
    dell'intero percorso.
(2) Se si vogliono avere piu' collegamenti contemporanei con il
    SuperVozelj bisogna usare un solo SSID nel proprio
    nominativo (normalemente -0 o niente) e chiamare il
    SuperVozelj con diversi SSID, es. S55YNG-1, S55YNG-2 ecc.
    ovvero GORICA-1, GORICA-2 ecc. In questo modo evitate i
    problemi che possono crearsi a causa dell'incremento
    automatico dello SSID da parte del SuperVozelj oppure della
    chiamata automatica verso il mio nominativo. Percio' evitate
    di chiamare contemporaneamente GORICA con diversi SSID, es.
    S53MV-1, S53MV-2 ecc.

Il SuperVozelj esegue tutti i comandi immediatamente. Unica
eccezione sono i comandi subito dopo al comando Connect. A causa
della limitazione del buffer (20 frame AX.25) puo' succedere
di perdere parte delle risposte ai nostri comandi. Questo
succede se si mandano piu' comandi, specialmente gli: A, G, I, N
e U. I comandi vengono eseguiti ma per mancanza di spazio le
risposte vengono tagliate. In questo caso alla fine non si
riceve il prompt con il nominativo del SuperVozelj. Risposte
incomplete possono essere generate gia' da un solo comando U o
G. In questo caso ci si aiuta con la stampa parziale:
U , G , G , G  .

3. Manutenzione del SuperVozelj
-------------------------------

Al sysop sono a disposizione i seguenti comandi aggiuntivi, i
comandi contrassegnati con (S) sono eseguibili soltanto dopo
aver risposto correttamente al comando K:

A _ ...cancella la tabella di chiamata (S), (= M 3F000 0).

A  ...aggiunge il testo alla tabella di chiamata (S).
          Risponde con il numero di carattere aggiunti. La tabella
          inizia con il nominativo senza SSID e poi segue la strada
          scritta cosi' che venga interprettata correttamente dal
          comando C.

B ...stampa il testo del frame UI (beacon).

B _ ...cancella il testo del beacon (S), (= M 3FC00 0).

B  ...aggiunge testo al beacon (S). Risponde con il
          numero di caratteri aggiunti.

D YYMMDDHHMMSS ...setta la data e l'ora (S).

E   
...copia un blocco di memoria (S). Gli indirizzi e la lunghezza
   devono essere in esadecimale, si possono usare anche numeri
   dispari.

F ...stampa la lista dei nominativi non permessi (bad list) (S).
     Queste stazione non possono chiamare il SuperVozelj, non
     possono usarlo come digi e non si puo' collegarle dallo
     stesso.

F _ ...cancella la lista dei nominativi non permessi (S),
    (= M 3FC00 0).

F    ...aggiunge i nominativi alla lista
                          dei nominativi non permessi (S).

G ...il comando e' uguale per tutti. Per cancellare la lista G
  non c'e' un comando specifico. La lista G puo' essere
  cancellata azzerando il flag $AA55 all'inizio della memoria
  che viene assegnata alla lista G, percio' basta usare il
  comando M 200000 0 (S) in questa versione. Questa operazione
  e' utile solo nel caso la lista contenga dati che possono
  provocare problemi al programma. Si posso fare anche
  cancellazioni parziali, es. M210000 0 (S).

H _ ..cancellaa il testo del help (S), (= M 3D800 0).

H  ...aggiunge il testo al testo dell'help (S). Risponde con il
          numero di caratteri aggiunti.

I _ ...cancella l'infotext (S), (=M 3D000 0).

I  ...aggiunge il testo al infotext (S). Risponde con il
          numero di caratteri aggiunti.

J ...manda un frame UI su tutti i canali (beacon). Il
  SuperVozelj trasmette un frame UI con il proprio nominativo e
  lo SSID corrispondente al canale, indirizzato a VOZELJ,
  CONTROL $03 (UI), PID $F0 con il testo del comando B. Il
  SuperVozelj manda un primo beacon dopo 10 secondi dopo la
  partenza del programma e poi ogni 5 minuti. Lo stesso succede
  dopo il comando J per poi ripeterlo dopo 5 minuti.

J  ...manda un frame UI su un canale specifico (0=su
           tutti i canali). In questo modo si evita del QRM
           inutile, specialmente quando si provano link
           specifici.

J   ...manda piu' frame UI (S). Viene usato per
                    controllare i link.

ATTENZIONE! La richiesta di molti frame UI blocchera' per alcuni
minuti il traffico sui canali piu' lenti (1200bps e 2400bps) !
Il formato dei numeri del comando e della risposta e' decimale.
Il numero dei frame UI e' limitato dal buffer dei frame che sono
in attesa di trasmissione (150 frame).

K ...comando sysop: password tipo TheNet a cinque numeri. La
  risposta puo' essere di lunghezza variabile, il SuperVozelj
  riconosce la sequenza giusta indipendentemente dove si trova
  nella riga di risposta e ci segnala l'esito. In caso di
  risposta positiva la stazione resta nel modo sysop fino
  all'invio di un'altro comando K ovvero fino alla sconessione.

L  ...legge i successivi 256 bytes della memoria (S).

M  ...legge una word da 16-bit (S).

M   ...immette una nuova parola all'indirizzo
                       (S). Risponde con la vecchia e con la
                       nuova parola dell'indirizzo.

M     ..................
...immette le parole specificate in memoria partendo dal
indirizzo indicato. Risponde con l'indirizzo di partenza e
quello della locazione seguente l'ultima locazione scritta.

N _ ..cancella il testo novice (S), (=M 3E000 0).

N  ...aggiunge il testo a novice (S). Risponde con il
          numero di caratteri aggiunti.

O  ...cancella parzialmente la lista dei tempi di risposta,
           lasciando solo  righe (S). O 0 cancella tutto.

P  ...cancella parzialmente la lista degli ascolti, lasciandone
           solo  righe (S). P 0 cancella tutto.

R ...stampa la versione del programma, il tempo di funzionamento
  del SuperVozelj (in minuti), la velocita' del loop primario
  (il numero corrente dei cicli al secondo). Seguono alcuni dati
  statistici per ogni canale:
  (1) percentuale dell'attivita' del DCD (canale occupato),
  (2) percentuale dell'attivita' del PTT (funzionamento del TX),
  (3) numero dei frame in attesa di trasmissione,
  (4) numero dei collegamenti in entrata,
  (5) numero di collegamenti in uscita.
  Il DCD e il PTT vengono campionati ogni millisecondo, la
  percentuale viene calcolata nell'ultimo minuto in base al
  contatore dei minuti che compare all'inizio. Il numero dei
  collegamenti si riferisce dall'ultimo reset. In fine compare
  l'indirizzo base del programma (registro A6) e l'indirizzo di
  chiamata dal loop primario. Se e' 0 significa che non viene
  effettuato il salto. Segue il periodo di chiamata. In fine
  segnala se l'utilizzatore e' abilitato a sysop.

R  
...setta l'indirizzo di chiamata (S). L'indirizzo e' un numero
   pari esadecimale. Il periodo e' in decimale e specifica il
   numero delle chiamate del loop primario durante la chiamata
   del sottoprogramma. Periodo 0 significa solo una chiamata
   senza ripetizioni. La risposta e' uguale del comando R senza
   altri parametri.

S   ...il funzionamento e' simile al Sporoci
                 normale con la differenza che il testo viene
                 mandato a tutti indipendentemente se sono nel
                 modo comando o conessi ad un'altra stazione
                 (S). In questo modo il sysop puo' mandare
                 messaggi in qualsiasi momento (solo alle
                 stazioni "entranti" ! ).

T ...stampa il CTEXT.

T _ ...cancella il CTEXT (S), (= M 3FA00 0).

T  ...aggiunge il testo al CTEXT (S). Risponde con il
          numero di caratteri aggiunti.

V ...il comando e' uguale per tutti. La tabella puo' essere cancellata
  con M 21E000 0 (S). E' possibile anche una cancellazione parziale con
  V  (S).

V 0 ...trasmette immediatamente la lista dei nodi in tutte le direzioni
    (tabella Z) (S). ATTENZIONE, COMANDO PERICOLOSO! I valori della
    qualita' vengono incrementati ad ogni V 0. Nel caso venga ripetuto
    piu' volte puo' provocare loop infiniti! Gli aggiornamenti della
    tabella V vengono eseguiti ogni 7 minuti (dopo V 0) automaticamente.

V  ...setta il valore massimo della qualita' da 1 a 255 (S).
             Il nuovo valore viene considerato nella seguente
             trasmissione della lista V, quando vengono eliminati nodi
             con i valori che eccedono questo numero.

V   ...setta il valore massimo della qualita' e la
                    costante di tempo (S).

W ...stampa la lista dei SuperVozelj adiacenti, ai quali manda
  il SABM modificato, che contiene oltre al CONTROL $3F e PID
  $F0 il campo INFO di lunghezza variabile. I primi sei
  caratteri del campo INFO contengono il nominativo del
  SuperVozelj in ASCII normale cioe' senza shift. Questo SABM
  viene interpretato dal SuperVozelj come richiesta di
  conessione con ulteriori informazioni sull'origine della
  chiamata che viene mostrato nella lista degli utilizzatori.
  Tutti le altre chiamate vengono fatte con il SABM standard del
  AX.25.

W _ ...cancella la lista dei SV adiacenti (S), (= M 3FD00 0).

W  ...aggiunge il testo alla lista dei SuperVozelj
          adiacenti. Risponde con il numero di caratteri
          aggiunti.

Z ...stampa la tabella dei nodi adiacenti ai quali mandare la lista dei
  nodi.

Z _ ...cancella la tabella dei nodi adiacenti (S), (= M 3F8000 0).

Z    ...aggiunge alla tabella altri nodi (S), dove
                          path e composto da :call.
                          Esempio: "1:GORICA" significa che deve mandare
                          la lista dei nodi al nodo GORICA sul canale 1.

!   ...aggiunge un nominativo nella tabella dei nodi V
                  se il call non e' ancora presente. Il nominativo e'
                  composto da 6 caratteri e il numero per la qualita' da
                  un byte. Nel caso il bit MSB del primo byte e' settato
                  a 1 si prende come source il call e non l'ident. Il
                  comando non risponde nemmeno con il prompt!

Essendo i testi A, B, F, I, N, T e V soggetti a continue
modifiche, vengono caricati dal sysop. I testi come pure il
software di controllo del SuperVozelj possono essere modificati
con il comando M. Il listing esadecimale viene preparato con il
programma NAKLADAC sul computer DSP.

Se si usano i programmi packet F1200 e S2400 bisogna settare
PACLEN a 0 cosi' il programma taglia il file .UPL in frame
di lunghezza addeguata. Bisogna fare attenzione a non transitare
via nodi TheNet o simili, perche' cambiando la lunghezza dei
frame confondono il SuperVozelj.

La pistra del reset hardware remoto viene collegata al modem di
un qualsiasi canale se e' di tipo duplex (es. AM7910) o sul
demodulatore. Il segnale di RESET e' la massima sequenza lineare
dal shift-register (polinomio 1+X^5+X^9) con periodo 511. Il
circuito deve ricevere almeno 2048 bit della sequenza per
generare un RESET valido. Questo segnale non si puo' generare
con un TNC, perche' la sua struttura non corrisponde a nessun
frame del AX.25, ma con un opportuno circuito oppure con il
programma RESET sul computer DSP.

Nella tabella di chiamata A tutti i call devono essere scritti
all'inizio riga e con caratteri maiuscoli. Nel caso di call piu
corti di 6 caratteri e' necessario aggiungere gli spazi
richiesti. Il resto dei nominativi devono essere scritti come
per il comando C semplice cioe' senza automatismi. Anche i
nominativi nelle liste F (bad call) e W (SV adiacenti) devono
essere scritti con le maiuscole, invece non ci sono limitazioni
di spazi o salti di linea. Nelle liste A e F si puo' usare anche
il wildchar "*", pero' solo alla fine della parola.

ATTENZIONE! Il comando F * blocca tutti indistintamente. In
questo caso l'unico call valido e' quello del SuperVozelj (non
l'IDENT) !

I testi dei comandi A, B, F, I, N, T e V sono contenuti nella
RAM CMOS che come l'orologio uPD4990 vengono alimentati dalla
batteria NiCd in assenza di alimentazione e percio' non vengono
persi. Stessa cosa vale per la lista G e la tabella V che non vengono
cancellate NEANCHE con il reset del SV.

Se si usano le entrate (port A) e le uscite (port B) del
circuito uPD71055 per il telecomando e' meglio caricare nella
locazione $3FFC0 lo stato delle uscite della porta B dopo il
reset. Usando il comando M sull'indirizzo $10002 si puo'
scrivere direttamente sulla porta B o leggere la porta A
all'indirizzo $10000.


4. Struttura del programma e settaggio dei parametri
----------------------------------------------------

Il programma del SuperVozelj e' scritto in assembler della
famiglia 68k nel formato che lo riconosce il compilatore ASM68K
del computer DSP. E' scritto in maniera tale da poter essere
relocabile. Infatti nel registro A6 e' definito l'indirizzo base
del programma. Il registro A5 contiene l'indirizzo dell'inizio
dell'area di lavoro in memoria. Per questo bisogna stare attenti
a non modificare questi registri. L'uso degli altri registri non
e' definito, tenendo conto che la maggior parte delle subrutines
non salva il loro valore.

Il SuperVozelj usa la memoria a banchi. Ogni subroutine
all'inizio richiede l'uso di un blocco e alla fine lo rilascia.
Ogni banco ha un numero che si trova nel registro D0. Il valore
0 ha significato di nessun blocco libero o di un blocco
inesistente.

Il funzionamento del programma e diviso in tre parti:
inizializzazione, loop primario e elaborazione degli interrupt.
Il loop primario ha il compito di comandare le
trasmissioni/ricezioni, organizzare i frame ricevuti e
eseguire i comandi diretti. Le routines gestite dagli interrupt
provvedono soltanto alla ricezione e alla trasmissione dei
frame, senza valutare il loro contenuto.

SVV75 controlla il DMA e relativo SCC dal loop principale e per i canali
DMA non utilizza gli interrupt. Stessa cosa vale per il SCC montato
sulla scheda DMA. Il DMA trasferisce i dati dal SCC alla memoria e
viceversa in due passi, passando per un registro interno e generando gli
indirizzi relativi. Per trasferire due bytes il DMA deve fare tre
accessi al bus, perche' il trasferimento tra DMA e memoria e' a 16 bit.

Nel SuperVozelj ci sono alcune funzioni che vengono eseguite
parallelamente:
(1) Ricezione dei pacchetti (separatamente per ogni canale)
(2) Elaborazione, ordinamento e esecuzione dei frame
    ricevuti
(3) Esecuzione dei comandi dati nel modo comando dagli
    utilizzatori
(4) Conferma dei pacchetti ricevuti
(5) Ripetizione dei pacchetti in attesa di conferma
(6) Beacon e trasmissione delle tabelle dei nodi
(7) Preparazione dei pacchetti per la trasmissione e controllo
    dello stato del canale
(8) Trasmissione dei pacchetti (separatamente per ogni canale)
(9) Calcolo delle varie statistiche

Il programma SuperVozelj non ha comandi per settare i parametri,
ma vengono definiti direttamente nel sorgente del programma. I
parametri possono essere divisi in due gruppi: parametri dei
canali (velocita', ritardi) e suddivisione della memoria.

Parametri dei canali:

(1) bitra, bitrb, bitrc, bitrd, bitre, bitrf
    ...sono le velocita' dei singoli canali in bit per secondo.
    Da questi numeri il SuperVozelj calcola il fattore di
    divisione BRG da mandare ai SCC. Le velocita' devono essere
    sottomultipli di 38400 (per il quarzo BRG 4.9152 MHz),
    diversamente non si posso settare i divisori nei SCC.

(2) bitrg, bitrh ...sono le velocita' dei canali DMA se utilizziamo il
    DPLL interno del SCC e colleghiamo RTxC su TRxC. Il DPLL interno e
    BRG pilotano PCLK del SCC. La velocita' del DMA e' normalmente
    controllato dal segnale che portiamo su RTxC.

(3) txglaa, txglab, txglac, txglad, txglae, txglaf, txglag, txglah
    ...definiscono la durata della testa dei pacchetti (TXDELAY) e
    del SLOTTIME per la decisione quando andare in trasmissione.
    I valori sono espressi in millisecondi. Si sceglie in base alla
    velocita' di commutazione del RTX dalla ricezione alla
    trasmissione.

(4) txrepa, txrepb, txrepc, txrepd, txrepe, txrepf, txrepg, txreph
    ...definiscono la durata della coda dei FRAME (TXTAIL) e
    sono espressi in millisecondi. Sono definiti in modo che
    vengano trasmessi l'ultimo byte del frame, i due byte del
    CRC e almeno un flag, percio' la durata di almeno 32 bits,
    con un po' di riserva per gli zeri inseriti per il
    bit-stuffing! I canali DMA hanno bisogno di un TXTAIL maggiore,
    perche' il programma vuole almeno tre flag per la risincronizzazione
    del ricevitore.

(5) kponava, kponavb, kponavc, kponavd, kponave, kponavf, kponavg,
    kponavh ...sono usati per piu' cose: watchdog DCD del ricevitore,
    watchdog per la durata del frame in trasmissione, per
    calcolare il tempo di ripetizione (FRACK o T1 nel AX.25) e
    il calcolo del tempo d'attesa al frame RNR. Cosi'
    vengono calcolati i tempi per le ripetizioni:
    FRACK=kponav*(1+nponovi*psevnak(0..1))
    RNRFRACK=FRACK+kponav*cakafak

(6) kponavs ...viene usato per calcolare il FRACK durante la
            chiamata !

(7) kpodga, kpodgb, kpodgc, kpodgd, kpodge, kpodgf, kpodgg,
    kpodgh ...tempo d'attesa per ulteriori frame in un pacchetto prima
    che SV mandi la conferma (T2 nel AX.25).

(8) tecnoa, tecnob, tecnoc, tecnod, tecnoe, tecnof, tecnog, tecnoh
    ...definiscono la probabilita' di andare in trasmissione
    (p-persistence) al termine di un slottime se il DCD non e'
    attivo. Il parametro e' definito come modulo 65536, percio'
    25% equivale al valore 16384.

(9) cakafak ...definisce il multiplo di FRACK quando il
            SuperVozelj riceve un frame RNR (l'utilizzatore
            non e' pronto a ricevere).

(10) mponovi ...numero delle ripetizioni (RETRY o N2 nel AX.25).

(11) mejacas ...tempo massimo (timeout) inattivita' del
            collegamento (nessuna conferma a frame info in
            un certo tempo).

(12) kokocas ...tempo tra emissioni beacon automatiche e ritardo
             iniziale su tutti i canali.

(13) poticas, potica1 ...tempo tra emissioni della tabella dei nodi e
                      ritardo iniziale. ATTENZIONE! Il tempo tra le
                      emissioni deve essere adattato a quello dei nodi
                      adiacenti!

(14) mejapot ...valore limite per determinare la validita' dei tempi di
             risposta (usato anche per calcorare la qualita').

(15) mojznak
     ...due nominativi, scritti nel formato shiftato (ASCII*2).
     Il primo e' il vero e proprio nominativo del SuperVozelj e
     solo con questo funziona il digi, vengono trasmessi i
     beacon e i frame SABM. Il secondo serve solo per i
     collegamenti con gli utilizzatori e non si puo' usarlo come
     digi e/o per i beacon.

SVV75 ha la possibilita' di aggiornare automaticamente la tabella dei
nodi (autorouting) il che semplifica non di poco il lavoro degli sysop.
Percio' che questo funzioni devono essere correttamente scritte le
tabelle A, W e Z. Nella tabella W vanno i nominativi dei SuperVozelj
adiacenti, anche quelli raggiungibili via digi. Nella tabella A vanno
solo i nodi che NON sono SuperVozelj e NON sono raggiungibili da altri
nodi. ATTENZIONE! Il contenuto della tabella A verra' trasmesso a tutti
i nodi SuperVozelj, percio' meglio non abbondare con i call nella
tabella A! Molto pericoloso e' l'uso del wildchar "*" (stessa cosa vale
per i wildchar "*" nella tabella V).

La tabella dei nodi si trasmette esclusivamente ai nodi adiacenti che
sono raggiungibili in diretta e senza nessun digi in mezzo. Durante la
trasmissione si cronometra il tempo che poi viene mostrato dal comando
O dei tempi di risposta. Nella successiva trasmissione della tabella
questo dato viene utilizzato per calcolare la qualita'. Il valore del
tempo di risposta viene diviso per l'unita' di tempo (costante di
tempo) e poi sommato al valore delle qualita' che viene ricevuto.

Se il valore della qualita' supera 255, viene corretto a 255. In questo
caso significa che il nodo e' morto.

Nella tabella dei nodi viene presa in considerazione sempre la strada
migliore. Se un nodo supera il massimo valore, allora viene cancellato
un'attimo prima della trasmissione della tabella dei nodi.

La trasmissione della tabella dei nodi e' composta da tre frame. Il
primo contiene il nominativo e l'ident del SuperVozelj. A questi due
viene assegnato il valore di qualita' 0. Il secondo contiene i nodi
della tabella A e anche a questi viene assegnato il valore 0. Il terzo
in fine contiene la lista dei nodi vera e propria con i relativi valori
di qualita'.

I nominativi della tabella dei nodi vengono trasmessi come una sequenza
di 8 caratteri. Il primo carattere e' "!" il quale fa eseguire il
comando "!" in ricezione. Seguono 6 caratteri del call (puro ASCII). Il
tutto finisce con il carattere che definisce il valore di qualita'. A
questo punto puo' seguira una nuova sequenza di un'altro nodo, gia' che
un frame puo' contenere fino a 24 nodi (24*8=192 bytes).

Nella tabella dei nodi ogni nodo occupa 16 bytes. I primi otto
corrispondono al comando "!" (vedi sopra). Gli otto restanti individuano
il canale (.W) e il SuperVozelj (6 caratteri senza SSID) dal quale
provengono i dati e al quale bisogna instradare la chiamata.

Quando il SuperVozelj trasmette il proprio nominativo e l'ident setta a
1 il bit MSB del primo byte dell'ident. In questo modo il SuperVozelj
che riceve questo puo' impedire la chiamata dell'ident con il call del
SV, che comporterebbe ad un looping infinito. Avendo la tabella A
priorita' sulla tabella V, si evitano problemi di looping con eventuali
nodi della tabella A presenti nella tabella V.

Indirizzi della memoria del SuperVozlj V75:
-------------------------------------------

$00000 - $03FFF 27128 EPROM con il programma SVV75    (16kb)

$10001 uPD71055 port A - ingresso, riservato per la telemetria
$10003 uPD71055 port B - uscita, riservato per il telecomando
$10005 uPD71055 port C - entrata/uscita, controllo dell'orologio
$10007 uPD71055 parola di comando

$30000 - $30FFF stack del MC68010                 (4kb)
$31000 - $34FFF copia della EPROM                 (16kb)
$35000 - $3CFFF libero per programmi              (32kb)
$3D000 - $3D7FF testo "Info"                      (2kb)
$3D800 - $3D7FF testo "Help"                      (2kb)
$3E000 - $3EFFF testo "Novice"                    (4kb)
$3F000 do $3F9FF tabella delle chiamate A         (2.5kb)
$3F900 do $3F9FF tabella nodi Z                   (256b)
$3FA00 do $3FBFF testo del ctext T                (512b)
$3FC00 do $3FCFF tabella call non permessi F      (256b)
$3FD00 do $3FDFF lista dei SV adiacenti W         (256b)
$3FE00 do $3FF01 testo del beacon B               (258b)

$3FF80 variabile del generatore pseudo-casuale (.L)
$3FF91 variabile per la massima qualita'            (.B)
$3FF92 costante di tempo per la qualita'            (.W)
$3FFC1 uPD71055 inizializzazione della porta B dopo il reset (.B)

$E0001 indirizzo 8254 contatore 0 - non utilizzato!
$E0003 indirizzo 8254 contatore 1 - contatore dei millisecondi /256
$E0005 indirizzo 8254 contatore 2 - divide il BRG clock 1kHz/1ms
$E0007 indirizzo 8254 registro di comando

$E0009   SCC#1 indirizzo B command - canale 2
$E000B   SCC#1 indirizzo B data
$E000D   SCC#1 indirizzo A command - canale 1
$E000F   SCC#1 indirizzo A data
$E0011   SCC#2 indirizzo B command - canale 4
$E0013   SCC#2 indirizzo B data
$E0015   SCC#2 indirizzo A command - canale 3
$E0017   SCC#2 indirizzo A data
$E0019   SCC#3 indirizzo B command - canale 6
$E001B   SCC#3 indirizzo B data
$E001D   SCC#3 indirizzo A command - canale 5
$E001F   SCC#3 indirizzo A data

$1C0000 do $1C0039   DMA MC68450 DREQ#0 registri - canale 8 TX
$1C0040 do $1C0079   DMA MC68450 DREQ#1 registri - canale 8 RX
$1C0080 do $1C00B9   DMA MC68450 DREQ#2 registri - canale 7 TX
$1C00C0 do $1C00F9   DMA MC68450 DREQ#3 registri - canale 7 RX
$1C00FF   DMA MC68450 general control register

$1E0001   SCC#4 (DMA) indirizzo B command - canale 8
$1E0003   SCC#4 (DMA) indirizzo B data
$1E0005   SCC#4 (DMA) indirizzo A command - canale 7
$1E0007   SCC#4 (DMA) indirizzo A data

$200000 do $21DFFF spazio per la lista "Glej"    (120kb)
$21E000 do $21FFFF spazio per la tabella nodi V    (8kb)
$220000 do $280000 resto della RAM dati          (384kb)

Tutti gli altri indirizzi non sono decodificati e' generano un
BUS ERROR se si tenta di scrivere o leggere. Il vettore delle
eccezioni punta all'inizio del programma nella EPROM (indirizzo
$100).


5. Collegamento dei connettori
-----------------------------
La scheda SCC con tre Z8530 su interrupt e' collegata con i modem
tramite due connettori DB25. I connettori DB25 femmina sono montati sulla
scatola del SV e dei modem, invece i connettori maschi vengono montati
sui cavi. I segnali sui DB25 sono sistemati in modo da facilitare il
collegamento con il flat cable:

1,2,3,4,5,6,7,8,9,10,11,12,13 = massa (ogni secondo conduttore del cavo)
14 = TXD canale 3 (o 6)
15 = RTS canale 3 (o 6)
16 = DCD canale 3 (o 6)
17 = RXD canale 3 (o 6)
18 = TXD canale 2 (o 5)
19 = RTS canale 2 (o 5)
20 = DCD canale 2 (o 5)
21 = RXD canale 2 (o 5)
22 = TXD canale 1 (o 4)
23 = RTS canale 1 (o 4)
24 = DCD canale 1 (o 4)
25 = RXD canale 1 (o 4)

Tutti e sei i canali sono duplex. Le entrate DCD servono solo
per la decisione su quando mandare in trasmissione il relativo
canale. L'entrata DCD non influisce sulla ricezione dei
pacchetti! L'uscita RTS commuta il modem e la stazione tra
ricezione e trasmissione (PTT). La limitazione del SCC Z8530 e'
che il generatore del baud-rate e il DPLL sono gli stessi sia
per la ricezione che per la trasmissione. Questa comporta che:

Per il funzionamento del SuperVozelj con modem e stazioni
simplex bisogna garantire che in trasmissione l'entrata RXD non
cambia di stato logico (nel modem Manchester ci pensa il
deviatore 74HC157). In questo modo si evita cambiamenti
indesiderati della velocita' di trasmissione e un inutile
sovvracarico del processore con gli interrupt del ricevitore. In
ricezione invece bisogna garantire un cambio di stato logico
dopo ogni reset/inizializzazione, in modo che il DPLL parta
correttamente se no non funzionera' la trasmissione. Questa
condizione avviene gia' con il rumore proveniente dal ricevitore
del rtx. Percio' il problema puo' avvenire usando il modem con
lo squelch del rtx (es. AM7910 senza DPLL), oppure quando si
collega un canale ad un altro computer senza modem ne rtx.

Nel caso dell'utilizzo del SuperVozelj nel modo duplex bisogna
tenere l'entrata DCD sempre allo stato logico alto. Essendo il
trasmettitore sempre attivo l'uscita RTS resta libera. Essendo
il trasmettitore sincronizzato dal ricevitore non ci si puo'
collegare tra due SCC Z8530. Percio' la conessione duplex tra
due SuperVozelj non e' possibile. E' possibile invece un
collegamento duplex con un TNC2 (diretto senza modem) e
interfaccie simili che hanno il clock di trasmissione
indipendente oppure con SCC migliorati (es. uPD72001).

Nel caso un canale sia inutilizzato (se non e' collegato da un
modem) bisogna collegare assieme RXD, DCD e RTS, mentre il TXD
relativo resta scollegato. Se si collega in questo modo tutti i
canali non utilizzati si garantisce al sistema un minore consumo
di memoria.

Per il collegamento modem/rtx consiglio il conettore DIN 5+1 con
i contatti disposti a 270 gradi, quelli che venivano usati nei
TV e simili apparecchi per i segnali video (prima dell'avvento
della SCART). Per standarizzare i conettori consiglio la
seguente disposizione:

1 = non conesso (oppure ricarica della batteria NiCd interna
    oppure uscita tasto CW)
2 = PTT (interrutore verso massa, cortocircuitato in
    trasmissione)
3 = non conesso (oppure +12V o squelch, attivo alto)
4 = microfono (entrata BF rtx)
5 = altoparlante (uscita BF rtx)
6 = massa, collegata anche con la massa metallica

                           /---------\
Vista frontale            /           \
del conettore            /      3      \
DIN femmina             /               \
da panello              |  2         4  |
                        |               |
                        |       6       |
                        |               |
                        \  1         5  /
                         \             /
                          \    /-\    /
                           \---------/

Per il collegamento del RESET remoto consiglio l'uso dei
spinotti RCA.


La scheda DMA-SCC con l'integrato MC68450 e un SCC Z8530 e' collegata ai
sincronizzatori di bit/scrambler o modem tramite un DB25. I connettori
maschi vengono montati sulle scatole, invece i conettori femmina vanno
sui cavi. I segnali sui DB25 sono sistemati in modo da facilitare il
collegamento con il flat cable:

1,2,3,4,5,6,7,8,9,10,11,12,13 = massa (ogni secondo conduttore del cavo)
14 = RTxC canale 7 (RX in TX clock d'entrata)
15 = RXD canale 7
16 = DCD canale 7
17 = RTS canale 7
18 = TXD canale 7
19 = TRxC canale 7 (uscita DPLL - normalmente non utilizzato)
20 = RTxC canale 8 (RX in TX clock d'entrata)
21 = RXD canale 8
22 = DCD canale 8
23 = RTS canale 8
24 = TXD canale 8
25 = TRxC canale 8 (uscita DPLL - normalmente non utilizzato)

Tutti e due i canali sono duplex. Le entrate DCD servono solo
per la decisione su quando mandare in trasmissione il relativo
canale. L'entrata DCD non influisce sulla ricezione dei
pacchetti! L'uscita RTS commuta il sincronizzatore (modem) e la stazione
tra ricezione e trasmissione (PTT). Il clock e' uguale per RX
e TX ed e' collegato all'entrata RTxC del Z8530. Su TRxC e' invece
collegata l'uscita del DPLL interno del Z8530 (normalmente non e'
utilizzato).

Per il collegamento tra sincronizzatore e il rtx consiglio il connettore
a 5 poli DIN con i pin a 180 gradi (quelli usati nei HiFi stereo per
segnali audio). Per standarizzare i conettori consiglio la
seguente disposizione:

1 = uscita S-meter del ricevitore, non collegato nel sincronizzatore
2 = massa, collegata anche con la massa metallica
3 = RXD (uscita 75ohm TTL del ricevitore, entrata sincronizzatore)
4 = PTT (interrutore verso massa, cortocircuitato in
    trasmissione)
5 = TXD (entrata 75ohm TTL del trasmettitore, uscita sincronizzatore)

                           /---------\
Vista frontale            /           \
del conettore            /      2      \
DIN femmina             /               \
da panello              |   4       5   |
                        |               |
                        |  1         3  |
                        |               |
                        \               /
                         \             /
                          \    /-\    /
                           \---------/

***************************************************************


    Source: geocities.com/siliconvalley/network/7865/sv

               ( geocities.com/siliconvalley/network/7865)                   ( geocities.com/siliconvalley/network)                   ( geocities.com/siliconvalley)