Inhaltsverzeichnis

FA 9/87, S. 458-459

Ing. H. Simmerling, Ing. M. Mütze - Y22BK

RTTY-Programm für MRB "Z 1013"

Die vorgestellte Software gestattet einen ansprechenden Femschreibbetrieb im Telegraphenalphabet Nr. 2 mit dem Riesaer Rechnerbausatz „Z 1013“. Der Kleincomputer arbeitet mit dem Systemgrundtakt l MHz. Die Flachfolientastatur wurde zur Sicherheit der Kontaktgabe durch eine Schreibmaschinentastatur unter Beibehaltung der vier Shiftebenen ausgetauscht. Zur Anschaltung an das RTTY-Interface sind drei Leitungen des PIO-Port A vorgesehen. Als Festlegung gelten:

Bit PAS und PA4 sind gegenüber PA7 und PA6 negiert. Das bedeutet, daß unter Verwendung des Ports PA6 der Sender mit High-Pegel ein- und mit Low-Pegel ausgeschaltet wird. Bei PA4 liegen die Verhältnisse umgekehrt. Für die Datenbits PA0 und PA7 entspricht Low-Pegel der Space-Lage. Als RTTY-Koder/Dekoder kann eine Schaltung nach [1], [2] unter Beachtung der Festlegungen verwendet werden.

Das RTTY-Programm arbeitet hinsichtlich der Kodierung/Dekodierung ähnlich wie in [3] beschrieben. Es gibt zwei Möglichkeiten der Aussendung von Fernschreibzeichen. Im ersten Fall (Standard) wird ein Registerzeichen bei Zeichensatzwechsel und zusätzlich bei jedem zehnten Zeichen gesendet. Im zweiten Fall wird vor jedem gesendeten Fernschreibzeichen das Registerzeichen ausgegeben. Die Baudrate ist in vier Stufen zu 45 (Standard), 50, 75 und 100 Baud einstellbar. Das Programm sieht die Verwendung von acht Standardtexten vor. Es ist rund 500H Bytes lang und belegt den Hauptspeicher ab Startadresse 1000H. Standardtexte befinden sich auf festen Adressen und sind maximal 0FFH Bytes lang. Die Adressen der Standardtexte sind:

Nr. Kennung Adresse
l 'a' 1500H…15FFH
2 'b' 1600H…16FFH
3 'c' 1700H…17FFH
4 'd' 1800H…18FFH
5 'e' 1900H…19FFH
6 'f' 1A00H…1AFFH
7 'g' 1B00H…1BFFH
8 'h' 1C00H…1CFFH

Die Texte müssen vom Anwender selbst organisiert werden. Grundsätzlich muß das erste Byte ein '$' (Währungszeichen) und das letzte Byte ein '!' (Ausrufezeichen) sein. Nach Aufruf des Programms wird der Bildschirm gelöscht. Es erscheint in den oberen fünf Zeilen das Menübild und auf der 15. Zeile ein '%' (Prozentzeichen) als Promptsymbol. Der Bildschirmrollbereich wird eingeengt.

Das Programm erwartet die Eingabe eines der fünf Steuerzeichen aus Tabelle l. Der Anwender hat nun die Möglichkeit, durch Eingabe von '<' zur Empfangsroutine zu verzweigen. Die Eingabe von '>' führt zwangsläufig zur Senderoutine. Das Zeichen '*' ermöglicht den Übergang zur nächsthöheren Programmebene, in diesem Falle zum Rücksprung zum Monitor des „Z 1013“. Die angezeigte Baudrate von 45 Bd kann durch Eingabe von 'b' verändert werden. Dabei erscheint die Ausschrift: „Baudrate (45,50,75,100) eingegeben!“. Das Programm erwartet die entsprechende Eingabe, stellt die neue Baudrate ein und (!) verzweigt selbständig in die Empfangsroutine. Dem Anwender wird auf dem Bildschirm die Zeichenfolge '«' zur Kontrolle des Programms ausgegeben.

Die Empfangsroutine läuft als Tastaturabfrageschleife und wird nur durch eintreffende Femschreibzeichen (Interrupt) unterbrochen. Die Interruptroutine beinhaltet die Abfrage des Ports, die Bewertung des Startbits, die Speicherung der fünf Zeichenbits, die Bewertung des Stopbits (mindestens 1,5fach), die Umwandlung des Fernschreibzeichens in den ASCII-Kode und dessen Ausgabe auf den Bildschirm. Bei negativer Bewertung des

  RTTY          1000 0500

  PROGRAM RTTY -- 0500 BYTES
  ENTRY: 1000
  %DUMP RTTY
    C394 10F3 2169 14CD 0811 CD0C F2FE 3428 *....!i........4(*
    0EFE 3528 BAFE 3728 06FE 3128 0218 EB32 *..5(..7(..1<...2*
    BE13 CD1B F2CD 0CF2 FE35 2806 FE30 2810 *.........5<.,0<.*
    18F3 F53A BE13 FE34 2815 FE37 2819 180C *...:...4(..7(...*
    F53A BE13 FE35 2817 FE31 281B F118 D6F1 *.s...5<..1<.....*
    CD88 103E D018 1BFl CD88 103E 7B18 13F1 *...>.......>ä...*
    CD88 103E BB18 0BF1 CD88 103E 3032 C013 *...>.......>02..*
    3E5B 32BB 133E 0CCD 1BF2 0103 0011 56EC *>Ä2..>........V.*

    21BE 13ED B0FB 186F 32BF 13CD 1BF2 3E20 *!......o2.....> *
    32C0 13C9 3E0C ED47 DD21 1311 DD22 020C *2...>..G.!..."..*
    21AF 1301 0105 EDB3 ED5E F321 8C14 22B9 *!........^.!..".*
    1321 BB13 36D0 21BC 1336 01CD 1BF2 21C1 *.!..6.!..6....!.*
    13CD 0811 CB29 133A B413 CD1B F2CD 0CF2 *.....).s........*
    FE3C 2823 FE3E CAF9 l1FE 2A28 0BFE 4028 *.<(#.>....*(..§(*
    0CFE 62CA 0310 18E5 F3CD 3113 C9F3 218C *..b.......1...!.*
    1422 B913 FB18 D63A A813 D300 3AB5 13CD *.".....:....:...*

    1BF2 CD1B F2FB 18C5 4623 7ECD 1BF2 2305 *........F#8...#.*
    20F8 C9F5 C5E5 0100 03CD 9D11 21AD 13ED * ...........!...*
    78CB 4720 66CD 9D11 10F5 7EFE 0636 0030 *x.G f.....B..6.0*
    5421 AC13 0605 C506 03CD 9D11 ED78 CB47 *T!...........x.G*
    2053 CD9D 1105 20F4 7E21 AB13 FE06 3802 * U.... .ß!....8.*
    CBFE CB3E 21AC 1336 00C1 10DA 0606 21AD *...>!..6......!.*
    13CD 9D11 ED78 CB47 2027 CD9D 1110 F57E *.....x.G '.....ß*
    FE1E 3600 380P 21AB 13CB 3ECB 3ECD AFll *..6.8.!...>.>...*

    21AB 1336 B0E1 C1F1 FBED 4DCB C6CB 2618 *!..6......M...&.*
    94CB C6CB 2618 D3CB C6CB 2618 A5E5 C521 *....&.....&....!*
    BB13 0602 C546 10FE C105 20F8 C1E1 C97E *.....F.... ....ß*
    2AB9 1301 3A00 EDB1 C07E FE00 C8FE 6228 **...:....ß....b(*
    08FE 7A28 0ACD 1BF2 C9E5 218C 1418 04E5 *..z(......!.....*
    21C6 1422 B913 E118 EF3E 0021 6614 CDF0 *!..".....>.!f...*
    1118 083E 0121 6314 CDF0 1132 BC13 1827 *...>.!c....2...'*
    0103 0011 5CEC EDB0 C9F3 3E0D CD1B F23A *....0.....>....:*

    B613 CD1B F2CD 1BF2 3AAA 13D3 00AF 32AE *........:.....2.*
    133A C014 32BD 13CD 0CF2 FE21 CAF7 10FE *.:..2......!....*
    2028 1AFE 0DCC 9D13 FE41 387D FE61 387E * (.......A8ü.a8ß*
    FE69 DA47 13FE 7728 A0FE 7628 A601 7400 *.i.G..w(..v(..t.*
    218C 14ED B120 D0CD ED12 18CB CD92 12CB *!.... ..........*
    4620 26CD 9212 CB4E 2024 CD92 12CB 5620 *F &....N $....V *
    22CD 9212 CB5E 2020 CD92 12CB 6620 1ECD *"....^  ....f ..*
    9212 CD97 12CD 9712 C9CD 9712 18D8 CD97 *................*

    1218 DACD 9712 18DC CD97 1218 DECD 9712 *................*
    18E0 3AA9 1318 033A AA13 D300 CD9D l1CD *..:....:........*
    9D11 CD9D 11CD 9D11 C911 C214 188F 11C0 *................*
    1418 8A21 A0EC 7EE5 FE24 CC25 13PE 2128 *...!..ß..$.%..!(*
    5CFE 2A28 5CCD D412 E13E 2E77 2318 E711 *ö.*(ö....>.w#...*
    C214 1810 FE20 280C FE0D CC9D 13FE 4138 *..... (.......A8*
    EE11 C014 0174 0021 8C14 EDB1 C02B 2BCD *.....t.!.....++.*
    1BF2 3ABC 133D 201C E521 BD13 1ABE 200C *..:..= ..!.... .*

    21AE 1334 3E0A BE28 06E1 180D 32BD 13AF *!..4>..(....2...*
    32AE 13E1 EBCD 4C12 EBC0 4C12 C9E1 C3F7 *2.....L...L.....*
    10E1 C3F9 11CD 0CF2 C921 C0ED 1100 F018 *.........!......*
    0621 00EC 1100 F022 1B00 ED53 1D00 CDDl *.!....."...S....*
    F63E 0CCD 1BF2 C9FE 6828 42FE 6728 39FE *.>......h(B.g(9.*
    6628 30FE 6528 27FE 6428 1EFE 6328 15FE *f(0.e('.d(..c(..*
    6228 0CFE 6128 03C3 1712 2100 1518 2121 *b(..a(....!...!!*
    0016 181C 2100 1718 1721 0018 1812 2100 *....!....'....!.*

    1918 0D21 001A 1808 2100 1B18 0321 001C *...!....!....!..*
    D511 A0EC 0100 01ED B0D1 C3B3 1221 B713 *.............!..*
    CDF2 1223 CDF2 12C9 1060 C000 0000 0002 *...#.....'......*
    CF01 D7FE 253C 3E08 02FP FFFF FFFF FFFF *....%<>.........*
    FFA1 7261 6469 6F20 7465 6C65 7479 7065 *..radio teletype*
    2028 4329 2062 7920 5369 6D6D 2B30 322F * (C) by Simm 02/*
    3837 2A2A 2A2A 2A2A 2A2A 2A2A 2A2A 2A2A *87***************
    2A2A 2A2A 2A2A 2A2A 2A2A 2A2A 2A2A 2A2A ******************

    2A2A 2052 2054 2054 2059 2020 7769 7468 *** R T T Y  with*
    205A 3130 3133 2020 3435 2042 642F 204F * Z1013  45 Bd/ 0*
    4E20 2A2A 2A2A 2A2A 2A2A 2A2A 2A2A 2A2A *N ***************
    2A2A 2A2A 2A2A 2A2A 2A2A 2A2A 2A2A 2A2A ******************
    2A2A 3E20 5365 6E64 656E 2020 3C20 456D ***> Senden  < Em*
    7066 616E 6765 6E20 202A 204D 6F6E 6974 *pfangen  * Monit*
    6F72 0D20 4F4E 4F46 4622 0D42 6175 6472 *or. ONOFF".Baudr*
    6174 6528 3435 2C35 302C 3735 2C31 3030 *ate(45,50,75,100*

    2920 6569 6E67 6562 656E 210D 0341 1942 *) eingeben!..A.B*
    0E43 0944 0145 0D46 1A47 1448 0649 0B4A *.C.D.E.F.G.H.I.J*
    0F4B 124C 1C4D 0C4E 184F 1650 1751 0A52 *.K.L.M.N.0.P.Q.R*
    0553 1054 0755 1E56 1357 1D58 1559 115A *.S.T.U.V.W.X.Y.Z*
    1F62 1B7A 0420 032D 193F 0E3A 0940 0133 *.b.z. .-.?.:.$.3*
    0000 0000 0000 0638 0B2S 0F28 1229 1C2E *.......8.#.(.)..*
    0C2C 1839 1630 1731 0A34 0527 1035 0737 *.,.9.0.1.4.'.5.7*
    1E3D 1332 1D2F 1536 112B 1F62 1B7A 0420 *.=.2./.6.+.b.z. *
Taste ASCII Funktion
< 3CH Sprung zur Empfangsroutine
> 3EH Sprung zur Senderoutine
* 2AH Rücksprung zum Monitor „Z 1013“
@ 40H Registersatz auf Buchstaben schalten
b 62H Baudrate ändern; danach Empfangsroutine

Tabelle 1: Steuerzeichen des RTTY-Programms

Taste ASCII Funktion
i 21H Textendezeichen im Standardtext; Sprung zur Empfangsroutine, Sender ausschalten
ENTER 0DH Aussenden der Femschreibzeichen 27 und 28 (Wagenrücklauf und Zeilenvorschub)
a…h 61H…68H Aufruf von Standardtext
W 77H Einschalten der Betriebsart „OFF“; vor jedem gesendeten Femschreibzeichen wird das Registeweichen gesendet
v 76H Einschalten der Betriebsart „ON“; vor jedem 10. Pemschreibzeichen und bei Registersatzwechsel wird das Registerzeichen gesendet
$ 24H Variablenzeichen bei Standardtext; es wird ein Zeichen von Tastatur gesendet

Tabelle 2: Steuerzeichen der Senderoutine

Start- oder Stopbits wird die Interruptroutine abgeschlossen. Dadurch ist ein problemloses Einrasten in eine laufende Sendung gewährleistet. Für die Empfangsroutine gelten alle Steuerzeichen der Tabelle l. Das '@' (40H) wird für die Umschaltung des Registersatzes von Hand verwendet. So ist es möglich, bei gestörtem Empfang (z. B. das Fernschreibzeichen Nr. 29 - Buchstabenumschaltung - wurde nicht ausgewertet) den Registersatz auf Buchstaben umzuschalten.

Die Senderoutine meldet sich durch die Anzeige von '»'. Mittels Tastatur gibt man nun den zu sendenden Text ein. Jedes Zeichen wird, sofern es dem Telegraphenalphabet Nr. 2 zugeordnet werden kann, sofort gesendet. Zur Kontrolle erscheint das dazugehörige ASCII-Zeichen auf dem Bildschirm. Die Tastatur wird erst wieder freigegeben, wenn das komplette Femschreibzeichen gesendet ist. Die Aussendung von Registerzeichen erfolgt automatisch entsprechend vorheriger Beschreibung. Damit entfallen die Zeichen Nr. 29 und 30. Für Wagenrücklauf/Zeilenvorschub ist die Taste „Enter“ (0DH) vorgesehen.

Die Umschaltung auf Empfang (Sender wird automatisch ausgeschaltet!) erfolgt entsprechend der Tabelle 2 durch die Taste '!'. Soll beim Senden vor jedem Femschreibzeichen das Registerzeichen ausgegeben werden, so wird durch Eingabe von 'w' der Standardmodus (angezeigt durch „ON“) verlassen und im Menü die neue Betriebsart durch „OFF“ angezeigt. Eine Rücksetzung erfolgt durch 'v'.

Im Sendebetrieb ist der Aufruf von Standardtexten (CQ-Ruf, Stationsvorstellung u. ä.) durch Eingabe des Kennbuchstabens möglich. Der Standardtext erscheint in der oberen, bisher freien Bildhälfte. Das am Anfang stehende Währungszeichen bewirkt, daß das Programm zur Tastaturabfrage übergeht. Durch Eingabe eines Leerzeichens (Space) beginnt das Senden des Standardtextes. Dabei werden die Zeichen im Bildschirmrollbereich wiederholt zur Anzeige gebracht und im Standardtext mit '.' (Punkt) überschrieben.

Die Währungszeichen im Text gelten als Variable und werden durch Tastenbetätigung ersetzt. Dadurch läßt sich z. B. im Standardtext das Rufzeichen der Gegenstelle oder der Name des OSO-Partners erst beim Senden einfügen. Wichtig ist, daß am Ende des Standardtextes ein '!' steht. Das bewirkt ein automatisches Umschalten auf Empfang. Wurde bei der Standardtextauswahl der falsche Kennbuchstabe verwendet, so ist für das Währungszeichen ein '*' einzugeben. Das Programm meldet sich mit dem Sendeprompt '»'. Danach kann man einen neuen Kennbuchstaben eingeben.

Betriebserfahrungen mit diesem RTTY-Programm zeigen, daß es möglich ist, Funkfernschreiben mit dem Mikrorechnerbausatz „Z 1013“ ohne Erweiterung (wie SIO, CTC oder RAM) durchzuführen. Der Probebetrieb bestätigte den fehlerlosen Lauf des Programms. Y22BK arbeitete in den Baudraten 45 Bd und 50 Bd.

Literatur

[1] Rössel, G.: Ein einfacher Funkfernschreibzusatz für den Amateurcomputer „AC l“, FUNKAMATEUR 35 (1986), H. 2, S. 98

[2] Kollektiv Y41ZL: Schnittstelle zwischen KW/ UKW-Transceiver und Mikrorechner, FUNKAMATEUR 34 (1985), H. 2, S. 98; H. 3, S. 150

[3] Heyder, F.: Ein komfortables RTTY-Programm für den Amateurcomputer „AC l“, FUNKAMATEUR 35 (1986), H. 2, S. 99


Anm. (vp): Listing ohne Gewähr!