Der Video 8.2-Karte Beine machen

Beschreibung zur Umrüstung „MAT85 V1.8/S“

Betrieb der Standard 8.2-Videobaugruppe mit einer höheren Datenübertragung betreiben.

Die Umrüstung „MAT85 V1.8/S“ erhöht die Geschwindigkeit der Zeichenübertragung zwischen CPU-Baugruppe und des Video-Interface BFZ/MFA-8.2 bzw. BFZ/MFA-8.4 von 1200 Bit/s auf 9600 Bit/a.

Dieses wird durch Änderung der „Seriellen Ein-/Ausgabe-Routinen“ des Betriebsprogrammes MAT85 erreicht. Diese Software-Anpassung ist in der EPROM-Version „MAT85 V1.8/S“ enthalten. Zusätzlich sind auf der Video-Interface geringfügige Änderungen vorzunehmen.

Anpassungen

Beim Video-Interface BFZ/MFA-8.2 muss der Baudraten-Generator in seiner Taktfrequenz verändert werden (UART-Takt = 154 kHz). Dieses geschieht durch das Auftrennen zweier Leiterbahnen sowie dem Einlöten von zwei zusätzlichen Drahtbrücken auf dieser Baugruppe (siehe „Installation und Inbetriebnahme“).

Die Änderungen beim Video-Interface BFZ/MFA-8.4 beschränken sich auf eine veränderte Einstellung der Schalterreihen S2 und S3 (siehe „Installation und Inbetriebnahme“).

Durch die Umrüstung des Betriebsprogrammes auf „MAT85 V1.8/S“ ergeben sich erheblich kürzere Zeiten für die Übertragung von Ausgabezeichen auf den Bildschirm. Dieses bedeutet für Anwendungen, bei denen viele Zeichen zum Bildschirm ausgegeben werden, einen erheblichen Bedienkomfort (z.B. EDITOR).

In welchen Größenordnungen die Zeitersparnis zur Bildschirmausgabe liegen, soll durch ein Berechnungsbeispiel dargestellt werden:

Zur seriellen Übertragung eines Datenbytes müssen neben den 8 Datenbit zusätzlich 1 Startbit und 2 Stoppbit übertragen werden, also 11 Bit/Zeichen. Damit ergeben sich für die zu vergleichenden Übertragungsraten folgende Übertragungszeiten für ein komplettes Zeichen:

  • 1200 Baud: 11/1200 s = 9,17 ms
  • 9600 Baud: 11/9600 s = 1,15msec

Eine „volle“ Bildschirmseite besteht z.B. aus 16 Zeilen mit je 64 Zeichen, das sind insgesamt 1024 Zeichen. Zusätzlich müssen nach jeder Zeile die Steuerzeichen „CARRIAGE RETURN“ (CR) und „LINE FEED“ (LF) zum Video-Interface übertragen werden: 15 x CR, 15 x LF. Es ergibt sich eine Gesamtzahl von 1054 Zeichen, so dass zur Übertragung folgende Zeiten benötigt werden:

  • MAT85 V 1.8 (1200 Baud) -> 1054 x 9,17msec = 9,67 sec
  • MAT85 V 1.8/S (9600 Baud) -> 1054 x 1,15 msec = 1,21 sec

Da das Video-Interface zur Verarbeitung einiger Steuerzeichen zusätzliche Zeit benötigt, durchläuft die Programmänderung „MAT8S V1.8/S“ nach der Übertragung dieser Zeichen eine zusätzliche Zeitverzögerung:

SteuerzeichenHexzus. Zeitverzögerung
LINE FEEDZeilenvorschub0A9,2 msec
CARRIAGE RETURNmit löschen Zeilenrest0D2,7 msec
CARRIAGE RETURNohne löschen Zeilenrest1D2,7 msec
LINE DELETEZeile Löschen1A2,7 msec

Damit wird zur Übertragung dieser Steuerzeichen eine längere Zeit benötigt, als für andere Zeichen. Da allerdings in den meisten Anwendungen der Anteil der genannten Steuerzeichen verhältnissässig gering ist zur Gesamtzeichenanzahl, wird die effektive Übertragungsrate nur geringfügig verringert (die „echte“ Übertragungszeit für obiges Beispiel liegt dann bei 1,39 s).

Installation und Inbetriebnahme

Die Umrüstung „MAT85 V1.8/S“ besteht aus einer Software-Änderung des Betriebsprogrammes MAT85 und einer geringfügigen Hardware-Anpassung des Video-Interface BFZ/MFA-8.2 bzw. BFZ/MFA-8.4

Software-Änderung

a) Betriebsprogramm mit 2-K-EPROMs

Ersetzen Sie den Steckplatz 2 der EPROM-Karte für das Betriebsprogrammes das ursprüngliche 2-K-EPROM „MAT85 V 1.8 II“ durch das mitgelieferte 2-K-EPROM „MAT85 V1.8/S II“

b) Betriebsprogramm mit 32-K-EPROM

Ersetzen Sie das 32-K-EPROM durch das mitgelieferte 32-K-EPROM mit der Änderung „MAT 32K/S“.

c) Der zu ersetzende Assembler-Code kann in den jeweiligen Originalroutinen auch selektiv ersetzt werden.

Hardware-Änderungen

Video-Interface BFZ/MFA-8.2

Führen Sie auf der Video-Interface 8.2 folgende Hardware-Anpassung durch:
(siehe auch Anlage: Hardware-Änderungen)

Leiterbahnseite:

Änderungen und Drahtbrücken auf der Lötseite:

  • IC 13, Pin 14 durchtrennen
  • IC 13, Pin 14 – IC 12, Pin 14 mit einer Drahtbrücke verbinden
  • IC12, Pin1 – IC 11, Pin 40 mit einer Drahtbrücke verbinden
    (über die nahegelegene Durchkontaktierung der Leitbahn)

Bestückungsseite:

Beispiel der Lötbrücken auf der Leitbahnseite

Änderung der Lötbrücken auf der Bestückungsseite

  • öffnen der Brücken P5 – P3
  • öffnen der Brücke P5 – P4

Video-Interface BFZ/MFA-8.4

Auf der Video 8.4-Karte sind gegenüber der 8.2 keine Anpassungen erforderlich. Einzig die Datenübertragungsparameter müssen auf die geänderte Geschwindigkeit und Übertragungsformat angepasst werden.

Nach der Umrüstung lässt sich das MFA-System wie gewohnt in Betrieb nehmen. Es entfällt lediglich die ursprünglich erforderliche Betätigung der SPACE-Taste, da die Übertragungsrate zwischen CPU-Baugruppe und Video-Interface fest auf 9600 Baud initialisiert ist.

Hinweise zur Programmänderung „MAT85 V1.8/S“

Obwohl die Änderungen in der Seriellen Ein-/Ausgabe-Routine des Betriebsprogrammes MAT85 vorgenommen wurden, sind die Einsprungadressen für universell verwendbare Unterprogramme unverändert, so dass diese Unterprogramme weiterhin uneingeschränkt benutzerbar bleiben, z.B.

SystemroutineAdresse
TastaturabfrageCALL 0043
BildschirmausgabeCALL 0052
Zeitschleife 0,24 secCALL 0895

Spezielle Hinweise

Bei der Umrüstung „MAT85 V 1.8/S“ und Verwendung des Video-Interface „BFZ/MFA-8.2“ ist bisher folgendes Fehlerbild aufgetreten, das sich nicht vermeiden lässt:

Wird bei der Verwendung des MAT85-Kommandos „REGISTER“ am Ende der Zeile (Registereinstellungen) nicht die Taste „CARRIAGE RETURN“, sondern SPACE betätigt, so kann es passieren, dass eine weiter oben auf dem Bildschirm dargestellt Ausgabezeile unterhalb des „REGISTER“-Ausdrucks nochmals auf dem Bildschirm erscheint. Diese Fehlfunktion (Zeilenvorschub durch Zeilenüberlauf) wirkt sich nur auf die Bildschirmdarstellung aus, jedoch nicht auf die Funktion des MFA-Rechners.

Bei der Umrüstung „MAT85 V 1.8/S“ und Verwendung des Video-Interface „BFZ/MFA-8.4“ ist bisher noch kein fehlerhaftes Verhalten aufgetreten.

MAT85 – Geänderte Systemroutine

Änderungen für schnellere Ein-/Ausgabe

Anpassung umfasst:

  • Wegfall der Baudratenerkennung (Die Baudratenerkennung durch das Betätigen der Leertaste beim Start des MAT85 entfällt)
  • Datenlänge beim senden (SERO) auf 8 Bit, 1 Stopp-Bit
    SERI ist unverändert bei 7 Bit (Einstellung des Tastaturcontrollers)
  • Wegfall der Zeitschleife für Signaldauerermittlung
;******************************************************************************
;*    SERIELLE EINGABE 9600 Bd ueber Video 8.2 (mit 9600 Patch)
;*    CALL  SERI
;*          (A) = EINGEGEBENES ZEICHEN
;******************************************************************************

; Code ab
; HEX-Adresse: $082D

SERI:       PUSH  B
            PUSH  D
            MVI   B,$0
            MVI   C,$09

SERI1:      RIM
            ORA   A
            JM    SERI1
            DCX   D
            MVI   D,$05

SERI2:      DCR   D
SERI3:      JNZ   SERI2
SERI4:      RIM
            ANI   $80
            RAL
            MOV   A,B
            RAR
            MOV   B,A
            DCR   C
            JZ    SERI6
            MVI   D,$0A

SERI5:      DCR   D
            JNZ   SERI5
            INX   D
            DCX   D
            NOP
            JMP   SERI4

SERI6:      POP   D
            POP   B
            RET

;******************************************************************************
;* SERINIT -      SERIELLEN I/O INITIALISIEREN mit 9600 Bd
;                 (Video 8.2 mit 9600 Patch)
;*    CALL  SERINIT
;*          ALLE REGISTER GEAENDERT
;******************************************************************************

; Code ab
; HEX-Adresse: $0860

SERINIT:    JMP   SERINIT3

SERINIT1:   LXI   D,$0300
            CPI   $0A
            CZ    SERINIT2
            LXI   d,$00E0
            CPI   $0D
            CZ    SERINIT2
            CPI   $1d
            CZ    SERINIT2
            CPI   $1a
            CZ    SERINIT2
            POP   D
            POP   B
            RET

SERINIT2:   PUSH  PSW
            CALL  SERINIT4
            POP   PSW
            RET

SERINIT3:   LXI   H,$0
            SHLD  STIME
            XRA   A
            STA   CRTFLG
            MVI   A,$0C
            CALL  SERO
            LXI   D,20000

SERINIT4:   DCX   D
            MOV   A,D
            ORA   E
            JNZ   SERINIT4
            RET

;******************************************************************************
;* SERO -   SERIELLE AUSGABE 9600 Bd (Video 8.2 mit 9600-Patch)
;*    MVI   A,AUSGABE-ZEICHEN
;*    CALL  SERO
;******************************************************************************

; Code ab
; HEX-Adresse: $089F

SERO:       PUSH  B
            PUSH  D
            PUSH  PSW
            MVI   C,$0B
            CMA
            STC
SERO1:      RAR
            PUSH  PSW
            ANI   $80
            ORI   $40
            SIM
            NOP
            POP   PSW
            DCR   C
            JZ    SERO3
            MVI   D,$07
SERO2:      DCR   D
            JNZ   SERO2
            PUSH  PSW
            ANI   $7f
            MOV   B,A
            POP   PSW
            MOV   A,B
            JMP   SERO1
SERO3:      POP   PSW
            JMP   SERINIT1

Auszug der entsprechenden Codestellen im MAT85-System

Codestelle: SERI ($082d)
$082d c5         push b
$082e d5         push d
$082f 06 00      mvi b,$00
$0831 0e 09      mvi c,$09
$0833 20         rim
$0834 b7         ora a
$0835 fa 33 08   jm $0833
$0838 1b         dcx d
$0839 16 05      mvi d,$05
$083b 15         dcr d
$083c c2 3b 08   jnz $083b
$083f 20         rim
$0840 e6 80      ani $80
$0842 17         ral
$0843 78         mov a,b
$0844 1f         rar
$0845 47         mov b,a
$0846 0d         dcr c
$0847 ca 56 08   jz $0856
$084a 16 0a      mvi d,$0a
$084c 15         dcr d
$084d c2 4c 08   jnz $084c
$0850 13         inx d
$0851 1b         dcx d
$0852 00         nop
$0853 c3 3f 08   jmp $083f
$0856 d1         pop d
$0857 c1         pop b
$0858 c9         ret
Codestelle: SERINIT ($0860)
$0860 c3 86 08   jmp $0886
$0863 11 00 03   lxi d,$0300
$0866 fe 0a      cpi $0a
$0868 cc 80 08   cz $0880
$086b 11 e0 00   lxi d,$00e0
$086e fe 0d      cpi $0d
$0870 cc 80 08   cz $0880
$0873 fe 1d      cpi $1d
$0875 cc 80 08   cz $0880
$0878 fe 1a      cpi $1a
$087a cc 80 08   cz $0880
$087d d1         pop d
$087e c1         pop b
$087f c9         ret
$0880 f5         push psw
$0881 cd 98 08   call $0898
$0884 f1         pop psw
$0885 c9         ret
$0886 21 00 00   lxi h,$0000
$0889 22 df fc   shld $fcdf
$088c af         xra a
$088d 32 c8 fc   sta $fcc8
$0890 3e 0c      mvi a,$0c
$0892 cd 83 fc   call $fc83
$0895 11 20 4e   lxi d,$4e20
$0898 1b         dcx d
$0899 7a         mov a,d
$089a b3         ora e
$089b c2 98 08   jnz $0898
$089e c9         ret
Codestelle: SERO ($089f)
$089f c5         push b
$08a0 d5         push d
$08a1 f5         push psw
$08a2 0e 0b      mvi c,$0b
$08a4 2f         cma
$08a5 37         stc
$08a6 1f         rar
$08a7 f5         push psw
$08a8 e6 80      ani $80
$08aa f6 40      ori $40
$08ac 30         sim
$08ad 00         nop
$08ae f1         pop psw
$08af 0d         dcr c
$08b0 ca c2 08   jz $08c2
$08b3 16 07      mvi d,$07
$08b5 15         dcr d
$08b6 c2 b5 08   jnz $08b5
$08b9 f5         push psw
$08ba e6 7f      ani $7f
$08bc 47         mov b,a
$08bd f1         pop psw
$08be 78         mov a,b
$08bf c3 a6 08   jmp $08a6
$08c2 f1         pop psw
$08c3 c3 63 08   jmp $0863

Dokumente

Achtung – Wichtiger Hinweis: In der Originaldokumentation ist auf der Leiterbahnansicht der erforderlichen Brücken ein Fehler. Die Brückenbezeichnung lautet nicht von Pin 1 (IC12) auf Pin 1 (IC 11) sondern
Pin1 (IC12) auf Pin 40 (IC11).