Forum: Projekte & Code VT100-Terminal (VGA+PS2)


von Joe G. (feinmechaniker) Benutzerseite


Angehängte Dateien:

Lesenswert?

VT100-Terminal (VGA+PS2)

In einigen Mikrokontrollerprojekten (CP/M) erfolgt eine 
Datenausgabe/Eingabe über eine serielle Schnittstelle. Anbei ein 
passendes VT-100 Terminal mit VGA-Ausgabe und PS-2 Tastatur.
Die Videoaufbereitung und Tastaturabfrage erfolgt über einen Propeller. 
Die Terminalschnittstelle wahlweise über USB oder RS232.
Alle Unterlagen liegen hier:
http://www.mikrocontroller.net/svnbrowser/avr-cp-m/trunk/VT100/?sortdir=down

Die derzeit realisierten Steuercodes sind im Dokument VT100-Code.pdf zu 
finden. Wordstar oder Turbo Pascal laufen vollständig.
Schaltungen im Verzeichnis /docs
der Quellcode im Verzeichnis /source

In der Version 1.0 war noch ein Hardwarebug. Im Schaltungsteil der 
Signalquellenumschaltung muss etwas manuell nachgebessert werden. 
Ansonsten ist die LP vollständig funktionsfähig. Ich würde alle noch 
vorhandenen Platinen (derzeit 10 Stück) jeweils bei Erstattung des 
Portos an Interessenten versenden. Außerdem gibt es eine Neuauflage mit 
korrekter Signalquellenumschaltung. Wer daran Interesse hat, meldet sich 
einfach per PM bei mir.

von Ronny S. (phoenix-0815)


Lesenswert?

Hallo,
schönes Projekt.

Gruß Ronny

von Holm T. (Gast)


Lesenswert?

Ich würde mal so eine Platine nehmen wollen, evtl. auch gleich den 
Propeller dazu. Ich würde das Ding mit gängigen Editoren an einer PDP11 
mal testen wollen und ich bin mir sicher das da noch etliche VT100 
Sachen noch nicht so laufen werden wie es eine DEC PDP11 erwartet :-)
Wie sieht es mit der Fuktion der Gold - Taste aus?

Gruß,

Holm

von Christian J. (Gast)


Lesenswert?

Hallo Joe,

es wäre gut, wenn hier eine kleine Spec stehen würde, was das Ding genau 
macht und wie und wofür man es verwenden kann. Nicht jeder hat denn 
Thread von Anfang an mit verfolgt.

Darüber hinaus kann nicht jeder einen propeller programmieren, liegt der 
dann dabei?.

von Sinus T. (micha_micha)


Lesenswert?

Holm Tiffe schrieb:
> Wie sieht es mit der Fuktion der Gold - Taste aus?

Du solltest aber wissen, dass für die "besondere" Funktion der 
Gold-Taste die Software auf deiner PDP11 zuständig ist und nicht das 
Terminal. Da kommt - wie bei anderen Funktionstasten - nur ein ESC-Code 
raus.

Außerdem hat er ja geschrieben:
> Die derzeit realisierten Steuercodes sind im Dokument VT100-Code.pdf zu
> finden.

von Leo C. (rapid)


Lesenswert?

Holm Tiffe schrieb:
> Ich würde das Ding mit gängigen Editoren an einer PDP11
> mal testen wollen und ich bin mir sicher das da noch etliche VT100
> Sachen noch nicht so laufen werden wie es eine DEC PDP11 erwartet :-)

Schätze auch, daß da einiges fehlt z.B. Umschaltung des keypad mode 
application/numeric), da der bisherige Benutzerkreis eher keine 
DEC-Computer daran anschließt. Aber du könntest die fehlenden Funktionen 
ja dann gerne beisteuern.

> Wie sieht es mit der Fuktion der Gold - Taste aus?

Das VT100 an sich hat keine Gold-Taste. ;)
http://vt100.net/docs/vt100-ug/chapter1.html#F1-2

Die Terminalplatine ist für den Anschluß einer PS/2-Tastatatur 
vorgesehen. Deren numerisches Keypad hat leider eine Taste zu wenig. 
Auch wenn man die obere Reihe mit PF1 - PF4 belegt, wird sich z.B. EDT 
damit nicht blind bedienen lassen.

Christian J. schrieb:
> es wäre gut, wenn hier eine kleine Spec stehen würde, was das Ding genau
> macht und wie und wofür man es verwenden kann. Nicht jeder hat denn
> Thread von Anfang an mit verfolgt.

Die "kleine Spec" findest Du tausendfach im Netz. Und den von Joe 
geposteten Link anschauen, oder mal im 
Beitrag "CP/M auf ATmega88" blättern, ist wirklich 
zuviel verlangt?

> Darüber hinaus kann nicht jeder einen propeller programmieren, liegt der
> dann dabei?.

Doch, das kann jede/r, die/der Buchstaben und Zahlen auf Bildschirm und 
Tastatur unterscheiden kann, und beim Versuch, ein Kabel in eine Buchse 
zu stecken, auch mal trifft.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Ich gebe zu, mein Einführungstext war mehrdeutig.

Allgemeines
Wer die alte Version haben möchte, sende mir bitte nochmals eine Mail 
mit dem Hinweis „alte Version“. Wer lieber auf die neue Version warten 
möchte, den Hinweis „neue Version“.
Die alte Version ist sofort verfügbar (10 Stück), die neue Version würde 
ich erst in Auftrag geben (8AT + Versand aus China). Propeller IC’c habe 
ich derzeit noch 10 Stück a 8.09 €. Für den Signalquellenumschalter 
benötigt man noch einen 74LV4053 (noch 8 Stück vorrätig). Als Gehäuse 
dient ein AKG 71 24 100 ME von Fischer.

Propeller
Die Software liegt als Quellcode und Bin-File im SVN. Die Programmierung 
kann sehr einfach über das zugehörige Propeller-Tool und die 
USB-Schnittstelle erfolgen. Da die Hardwareversion 1.0 den Mux direkt 
mit dem Propeller verbindet, kann man sich prima durch 
Fehlprogrammierung aussperren :-( In der Version 1.1 gibt es nun einen 
Jumper der dies verhindert.

V24
Realisiert ist ein DTE an einem 9 poligen Stecker. Von der Software wird 
derzeit nur Rx und Tx unterstützt. Ich werde jedoch noch eine 
„Vollverdrahtung“ realisieren. Da es aber ein DTE ist, kann kein 
USB-Seriell-Adapter direkt angeschlossen werden. Dieser Stecker ist also 
tatsächlich für ein Nullmodemkabel vorgesehen.

von Harald N. (haraldn)


Lesenswert?

Joe G. schrieb:
> In der Version 1.0 war noch ein Hardwarebug. Im Schaltungsteil der
> Signalquellenumschaltung muss etwas manuell nachgebessert werden.
> Ansonsten ist die LP vollständig funktionsfähig.

Hi!

Ich hab grad die Doku durchgesehen. Was muss nachgebessert werden? Ich 
habe dazu nichts gesehen.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Harald Nagy schrieb:
> Was muss nachgebessert werden?

Der Unterschied wird zwischen den Varianten Version 1.0 und Version 1.1 
deutlich. In der Version 1.0 ist der Multiplexer leider falsch 
beschaltet. Der Fehler läßt sich leich mit einigen kleinen Drähtchen 
korregieren. Ich hatte die Steuereingänge mit den Datenausgängen 
vertauscht :-(
Als Quarz muß ein 5 Mhz Quarz bestückt werden, der Pieper muß entgegen 
der aufgeführten Bestückungsvariante um 180 Grad gedreht eingelötet 
werden.

In der Ver. 1.1 ist nun zusätzlich die RS232 voll beschaltet, also mit 
DTR,DSR,RTS,CTS.

: Bearbeitet durch User
von Marcel A. (dl1ekm)


Lesenswert?

So, Platine ist angekommen.

Obwohl ich doch reichlich gesucht habe - aber einen Schaltplan und/oder 
Teileliste habe ich nicht gefunden. Von daher weiß ich gerade nicht 
weiter...

Die "Idee" kann ich mir sicher aus der schon existierenden 
CPM/VGA-Platine ableiten. Daher würde ich annehmen, dass ich mindestens 
den FT232 und MAX232 weglassen kann und RX/TX von einem AVR direkt auf 
den Propeller geben kann, wenn ich kein USB oder RS232 haben will.
Zum USB-Anschluss habe ich auch noch eine Verständisfrage: Wozu ist der 
gut? Ist das ein USB-Host, an den man den CPM-Stick anschließen könnte 
oder...? Dann könnte ich aber auch direkt die RX/TX drauf geben.

Danke euch!

von Leo C. (rapid)


Lesenswert?

> Obwohl ich doch reichlich gesucht habe - aber einen Schaltplan und/oder
> Teileliste habe ich nicht gefunden.

Wo denn?

Joe G. schrieb:
> Alle Unterlagen liegen hier:
> http://www.mikrocontroller.net/svnbrowser/avr-cp-m/trunk/VT100/?sortdir=down

von Marcel A. (dl1ekm)


Lesenswert?

Leo C. schrieb:
>> Obwohl ich doch reichlich gesucht habe - aber einen Schaltplan und/oder
>> Teileliste habe ich nicht gefunden.
>
> Wo denn?
>
> Joe G. schrieb:
>> Alle Unterlagen liegen hier:
>> http://www.mikrocontroller.net/svnbrowser/avr-cp-m/trunk/VT100/?sortdir=down

genau hier - aber im DOC-Verzeichnis liegen ja nur die Layouts und ein 
Bestückungsplan ohne Werte und kein Schaltplan - oder bin ich blind?

von Leo C. (rapid)


Lesenswert?


von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Marcel A. schrieb:
> dass ich mindestens
> den FT232 und MAX232 weglassen kann und RX/TX von einem AVR direkt auf
> den Propeller geben kann, wenn ich kein USB oder RS232 haben will.

In der Tat, wenn du keinen Pegelwandler benötigst oder nicht auf eine 
virtuelle COM-Schnittstelle umsetzen möchtest, kannst du diese IC's 
(auch den (MUX) weglassen. Allerdings müßte dann der Propeller extern 
programmiert werden.
Der USB-Anschluss ist nicht nur ein virtueller COM-Port sondern auch so 
beschaltet, dass darüber der Propeller programmiert werden kann.

von Marcel A. (dl1ekm)


Lesenswert?

Stimmt - dafür wäre es schon sinnvoll. Vielleich kann ich doch den FT232 
geben einen billigen China-Stick austauschen...

@Leo: Mea Culpa. Ich war tatsächlich blind... Danke :-)

von Peter Z. (flexopete)


Lesenswert?

Moin,

@ Joe
alles angekommen, vielen Dank.

@ all
die Platine läuft auch schon bei mir,allerdings
habe ich 2 Fragen:

1. Wie soll die Umschaltung zwischen FTDI und RS232
   denn gehen? Dazu müsste der Prop an P0 ein HIGH ausgeben,
   P0 bleibt aber auf LOW.
   Und wenn JP1 offen ist, würde das auch nicht gehen.
   Oder habe ich was übersehen?

2. CTS, RTS, DSR und DTR gehen direkt vom Prop an die RS232.
   Da liegen normalerweise ca +- 10V, wie beim TX vom MAX.

Gruss
Peter

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Peter Zabel schrieb:
> 2. CTS, RTS, DSR und DTR gehen direkt vom Prop an die RS232.
>    Da liegen normalerweise ca +- 10V, wie beim TX vom MAX.

Bitte die Doku VT100_sheet.pdf verwenden NICHT VT100_sheet_V1_1.pdf

> 1. Wie soll die Umschaltung zwischen FTDI und RS232
>    denn gehen? Dazu müsste der Prop an P0 ein HIGH ausgeben,
>    P0 bleibt aber auf LOW.
>    Und wenn JP1 offen ist, würde das auch nicht gehen.
>    Oder habe ich was übersehen?

JP1 existiert nicht in deiner Version.
P0 = Low -> USB
P0 = High -> RS232
Der Pulldown sorgt dafür, dass bei nicht programmiertem Propeller die 
Pogrammierung an USB liegt.

P0 auf High, in der Software F5, ist noch nicht realisiert.

: Bearbeitet durch User
von Peter Z. (flexopete)


Lesenswert?

Moin Joe,

habe ich doch schon längst auf V 1.1 vom 10.1.2015
hochgerüstet (mit JP1).

Gruss
Peter

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Peter Zabel schrieb:
> habe ich doch schon längst auf V 1.1 vom 10.1.2015
> hochgerüstet (mit JP1).

Na dann selber in der Software Hand anlegen oder bis zum WE warten :-)
Ich werde es dann integrieren.

von Peter Z. (flexopete)


Lesenswert?

bin leider kein Progammierer, werde dann
erstmal ne Brücke legen.

Peter

von Harald N. (haraldn)


Lesenswert?

Falls jemand zufälligerweise eine Reichelt-Bestellliste zusammengestellt 
hat möge er sie hier online stellen. Danke

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Peter Zabel schrieb:
> Dazu müsste der Prop an P0 ein HIGH ausgeben, P0 bleibt aber auf LOW.

Ist jetzt eingebaut. F5 schaltet nun von USB auf RS232 und wieder 
zurück.

von Peter Z. (flexopete)


Lesenswert?

@ Joe
Gerade ausprobiert und geht bei mir.
Buzzer auch.
Vielen Dank.

Gruss
Peter

von Harald N. (haraldn)


Lesenswert?

Hi! Bin gerade am Zusammenstellen der Stückliste. Einige Fragen taten 
sich auf:

1) die vier Kondensatoren am MAX3232 sind 100n Kerkos? (lt. DB ist das 
ok)
2) die Widerstände, Kerkos und LEDs sind alle Größe 1206?
3) den LP2950 finde ich bei meinen üblichen Versendern nicht. Ginge da 
auch der TS2937CP33?
https://www.reichelt.de/TS-2937-CP33/3/index.html?&ACTION=3&LA=446&ARTICLE=115972&artnr=TS+2937+CP33&SEARCH=TS+2937+CP33
4) der Buzzer sollte ja eher unkritisch sein. Ich hätte mir den hier 
ausgesucht
https://www.reichelt.de/SUMMER-CPM-121/3/index.html?&ACTION=3&LA=446&ARTICLE=35924&artnr=SUMMER+CPM+121&SEARCH=piezosignalgeber


Danke für's drüberschauen!

von Marcel A. (dl1ekm)


Lesenswert?

Harald Nagy schrieb:
> Hi! Bin gerade am Zusammenstellen der Stückliste. Einige Fragen taten
> sich auf:
>
> 1) die vier Kondensatoren am MAX3232 sind 100n Kerkos? (lt. DB ist das
> ok)
> 2) die Widerstände, Kerkos und LEDs sind alle Größe 1206?
> 3) den LP2950 finde ich bei meinen üblichen Versendern nicht. Ginge da
> auch der TS2937CP33?

Was ist denn mit dem hier - oder muss es SMD sein?
http://www.reichelt.de/index.html?ACTION=3;ARTICLE=122756;SEARCH=LP%202950%20ACZ3,3

> 
https://www.reichelt.de/TS-2937-CP33/3/index.html?&ACTION=3&LA=446&ARTICLE=115972&artnr=TS+2937+CP33&SEARCH=TS+2937+CP33
> 4) der Buzzer sollte ja eher unkritisch sein. Ich hätte mir den hier
> ausgesucht
> 
https://www.reichelt.de/SUMMER-CPM-121/3/index.html?&ACTION=3&LA=446&ARTICLE=35924&artnr=SUMMER+CPM+121&SEARCH=piezosignalgeber
>
>
> Danke für's drüberschauen!

von Harald N. (haraldn)


Lesenswert?

Jep SMD

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Harald Nagy schrieb:
> 1) die vier Kondensatoren am MAX3232 sind 100n Kerkos? (lt. DB ist das
> ok)

Dürte Ok sein, das Datenblatt sagt dazu:
The capacitor type used for C1–C4 is not critical for proper operation; 
polarized or nonpolarized capacitors can be used.

> 2) die Widerstände, Kerkos und LEDs sind alle Größe 1206?
Ja

> 3) den LP2950 finde ich bei meinen üblichen Versendern nicht. Ginge da
> auch der TS2937CP33?
Ja, aber nur im TO-252 Gehäuse

> 4) der Buzzer sollte ja eher unkritisch sein. Ich hätte mir den hier
> ausgesucht
passt

Beim Quarz bitte einen 5 MHz verwenden!

: Bearbeitet durch User
von Harald N. (haraldn)


Lesenswert?

Danke!

von Joe G. (feinmechaniker) Benutzerseite


Angehängte Dateien:

Lesenswert?

V1.1 realisiert zwei Kanäle (USB und RS232) mit Full-Null-Modem 
Beschaltung.
Der Multiplexer ist dabei auch gleich weggefallen.

Es können nun drei Varianten realisiert werden.
1.  USB und RS232
2.  nur USB
3.  nur RS232
Die Programmierung des Propeller kann über RS232 oder USB erfolgen.

von Harald N. (haraldn)


Lesenswert?

Auch dieses Projekt muss ich für mich als gescheitert erklären 
(vorläufig). Alles zusammen gelötet, alles durchgemessen. Angesteckt. 
USB Fehlermeldung wegen Gerätebeschreibung. Am Spannungsregler liegt nur 
rund 1 Volt an....
Hab heute keine Lust mehr...

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Harald Nagy schrieb:
> Auch dieses Projekt muss ich für mich als gescheitert erklären

Gescheitert ist es erst, wenn du vor dem ziel aufgibst ;-)

USB / FTDI ist ja eine Standardbeschaltung. Die 5Volt von der USB 
Schnittstelle sollten also immer anliegen. Wenn der Festspannungsregler 
korrekt arbeitet, sollten hinter ihm 3.3V sein.

: Bearbeitet durch User
von Harald N. (haraldn)


Lesenswert?

Und das ist nicht der Fall (beides). Es liegt nur 1 Volt an. Hinter dem 
Regler 0.8 was verständlich ist.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Es gibt eigentlich keinen Grund, warum die Spannung zusammenbrechen 
sollte. Es sei denn, es gibt einen satten Kurzschluss auf der 3.3V 
Seite. Löte doch mal den 3.3V Regler aus und schaue ob dann die 5V 
stabil anliegen.

von Harald N. (haraldn)


Lesenswert?

Werde ich machen und doch nochmal alle Verbindungen überprüfen. Aber 
sollte dann nicht irgendwas rauchen oder zumindest warm werden? Der USB 
Port trennt ja auch nicht, sagt nur er erkennt das Gerät nicht. Trennung 
kommt nur wenn ich versuche die Spannung direkt an der USB Buchse zu 
messen. Da dachte ich mir das sei normal....

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Sobald die 5 Volt anliegen, sollte der FT323 sofort als USB Gerät 
erkannt werden. Wenn der entsprechende Treiber (virtual COM Port) noch 
nicht installiert ist, sollte dieser nun noch eingerichtet werden. Einen 
Einfluss auf die 5V hat es jedoch nicht. Solange nicht mehr als 90mA 
fließen, schaltet der USB-Port nicht ab.

von Joe G. (feinmechaniker) Benutzerseite


Angehängte Dateien:

Lesenswert?

Die Version 1.1 ist aufgebaut und programmiert. Alle neuen Funktionen 
hatte ich schon hier
Beitrag "Re: VT100-Terminal (VGA+PS2)"
beschrieben. Die Software wie immer im SVN. Derzeit gibt es 10 Platinen 
dazu.

von Muessigb (Gast)


Lesenswert?

Hallo,
ich besitze eine 1.0er Platine.
Leider würde es keinen Sinn machen, mir alle SMD Teile einzeln zu 
bestellen, da ich absolut keine SMD Teile besitze (nur Through Hole).
Hat jemand vielleicht diese Teile übrig und würde sie mir gegen eine 
kleine Spende schicken? ;)

von Peter T. (pitt)


Lesenswert?

Gibt es noch Platinen und Spezialteile ?
mfg Pitt

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Peter T. schrieb:
> Gibt es noch Platinen und Spezialteile ?

Ja, Platinen und Propeller IC's sind noch verfügbar.

von Marcel A. (dl1ekm)


Lesenswert?

Ich glaube, ich brauche auch bald noch einen 2. Satz.
Was kosten die?

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

zur Info

Leiterplatte Version 1.1 2,30€/Stück, noch 9 Stück vorhanden
Propeller 8.09€/Stück, noch 6 Stück vorhanden
Porto+Polsterumschalg 1.65
Summe 12€/Satz

@Pitt
Dein Brief geht dir heute noch zu.

von Marcel A. (dl1ekm)


Lesenswert?

Ich nehme auch noch eine Platine + Propeller

von Michael S. (dg7mdu) (Gast)


Lesenswert?

Hallo Joe,
hast du noch eine VT100-Terminal (VGA+PS2) V1.1 Leerplatine und bereits 
programmierten Propeller?
falls Du alle Bauteile vorrätig hättest würde ich auch gerne einen 
Komplettbausatz nehmen
Nenn mir doch bitte die Zahlungsmöglichkeiten.

Vielen Dank
Michael

von Michael S. (dg7mdu)


Lesenswert?

Hallo Joe,
hast du noch eine VT100-Terminal (VGA+PS2) V1.1 Leerplatine und bereits
programmierten Propeller?
falls Du alle Bauteile vorrätig hättest würde ich auch gerne einen
Komplettbausatz nehmen
Nenn mir doch bitte die Zahlungsmöglichkeiten.

Vielen Dank
Michael

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Michael S. schrieb:
> hast du noch eine VT100-Terminal (VGA+PS2) V1.1 Leerplatine und bereits
> programmierten Propeller?

Eine Platine und ein Propeller-IC (unprogrammiert) ist verfügbar. Die 
Programmierung kann sehr einfach direkt über USB oder RS232 auf dem 
VT100 Board erfolgen. Die Software liegt sowol als Quelltext als auch 
als Binärfile vor. Die Zahlung erfolgt einfach nach Lieferung.
Gruß Joe

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Ich habe mal hier [1] versucht alle Informationen zum Aufbau des VT100 
zu bündeln. Vielleicht macht es den Nachbau etwas einfacher :-)

[1] http://www.openmechatronics.de/?Home

: Bearbeitet durch User
von Uwe S. (de0508)


Lesenswert?

Danke Joe G,

wow, da steckt in vielen Schubladen viel Arbeit drin !

von Leo C. (rapid)


Angehängte Dateien:

Lesenswert?

Hier ist eine neue Test - Software für das Terminal.

Da die Unterschiede zwischen der AVR-CP/M- und der Standalone-Version 
des Terminals gering sind, wurden die beiden Varianten zusammen gelegt. 
Es gibt in Zukunft also nur noch eine Software für beide Varianten (von 
mir).

Mich würde nun interessieren, ob die Erkennung überall zuverlässig 
funktioniert. Außerdem würde ich mich freuen, wenn einige Leute weitere 
Funktionen testen würden, und Ihre Meinung/Kritik dazu abgeben würden.

1. Synchronisiert der Monitor zuverlässig?
   Mein LS-8 von Pollin ist etwas zickig und tat es mit den
   ursprünglichen Werten nicht. Inzwischen habe ich bemerkt, daß das
   Display mit den aktuellen Einstellungen auch nicht immer richtig
   synchronisiert. In der Datei 'vgacolour.spin' sind verschiedene
   Parametersätze zum Ausprobieren.

2. Welchen Font sollen wir nehmen?
   In der Test-Version sind 3 verschiedene Fonts eingebaut, die über das
   Setup-Menü (F7) gewechselt werden können. Mit der ESC-Sequenz
   'ESC # 9' kann ein "Testbild" mit dem kompletten Font auf dem
   Bildschirm dargestellt werden. Inzwischen habe ich Terminus entdeckt.
   Der ist auch noch einen Versuch wert.

3. Farben?
   Ich habe versucht, die Farbpalette auf die Werte der Tabelle in [1]
   zu ändern. Die Zahlenwerte in Spalte 1,  'Standard VGA colors',
   (0, 85, 170, 255) entsprechen genau den Möglichkeiten unserer,
   Hardware, und die alte Palette paßt nicht in das ECMA-48, bzw.
   ISO-6429 Schema.
   Leider sieht das Ergebnis auf meinem Display sehr bescheiden aus.
   Helle und dunkle Farben sind kaum voneinander zu unterscheiden. Wie
   sieht das bei Euch aus? Zum Testen kann man z.b. die angehängte Datei
   'colors.vt' auf das Terminal ausgeben.

4. Attribute
   Was braucht man denn noch, bzw. was wäre wünschenswert?
   Wir haben Farben, bright, und invers.
   Zusätzlich möglich wären Unterstreichen, bold, blinken (nur wenn man
   mich zwingt). Problem ist der Textspeicher Z.Zt. belegt jedes Zeichen
   2 Byte. 8 Bit für das Zeichen und je 4 Bit für Vorder- und Hinter-
   grund-Farbe. Wenn man sich auf einen Font mit 127 Zeichen einigen
   könnte wäre ein Bit für ein Attribut frei. Zur Zeit ist das so für
   die Fonts 0 und 1 zum Unterstreichen realisiert. Ein Bit könnte man
   gewinnen, wenn man sich auf 8 Hintergrund-Farben beschränkt.
   Man könnte auch den Textspeicher um ein oder 2 Byte pro Zeichen
   erweitern. Dann hätte man genügend Platz um alle Attribute zu
   realisieren. Wahrscheinlich reicht dann aber der Platz für den
   Programmcode nicht mehr aus. ;-)

Das reicht mal für den Anfang.
Happy Testing


[1] https://en.wikipedia.org/wiki/ANSI_escape_code#Colors

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Für alle Tester unter Windows, bitte in der Keyb-de.spin den Quellcode 
an dieser Stelle korregieren. Hier hat die Umlautkonvertierung Mist 
gemacht.

{{ for keyboard-de start }}

                        cmp     data,#de_ae     wz      'replace ae
        if_z            mov     data,#"ä"
                        cmp     data,#de_oe     wz      'replace oe
        if_z            mov     data,#"ö"
                        cmp     data,#de_ue     wz      'replace ue
        if_z            mov     data,#"ü"

von Joe G. (feinmechaniker) Benutzerseite


Angehängte Dateien:

Lesenswert?

Kurze Rückkopplung.
Super Arbeit!

Auf dem PC-Monitor sieht Font 2 trotz fehlenden Abstand bei einigen 
Zeichen optisch am besten aus. Auf dem Pollin Teil Font 1. Font 0 sieht 
bei beiden Monitoren nicht so schön aus.

Bei der Synchronisation sieht es bei beiden Bildschirmen am besten bei ' 
--> fH: 31,3 KHz  fV 59,5 Hz aus. Sie synchronisieren sehr sauber.

Zu den Farben kann nicht noch nichts sagen, das erfordert mehr Arbeit. 
Doch das angefügte Bild auf dem Pollin Bildschirm (10,4  Zoll) wollte 
ich dir nicht vorenthalten. Es ist tatsächlich ein Foto vom Bildschirm. 
Ein wirklich super Bild!

von Leo C. (rapid)


Lesenswert?

Joe G. schrieb:
> {{ for keyboard-de start }}

Das Properller-Tool tut so, als könnte es utf-8 verarbeiten, kann es 
aber nicht, im Gegensatz zu BST. Ich bin auch erst auf utf-8 
umgestiegen, nachdem ich mich vergewissert hatte, daß man die Dateien 
problemlos auf utf-16 zurück konvertieren kann. Z.B. mit recode oder 
iconv.

Ich habe das "Problem" jetzt so gelöst:
1
                        cmp     data,#de_ae     wz      'replace ae
2
        if_z            mov     data,#$E4
3
                        cmp     data,#de_oe     wz      'replace oe
4
        if_z            mov     data,#$F6
5
                        cmp     data,#de_ue     wz      'replace ue
6
        if_z            mov     data,#$FC

von Leo C. (rapid)


Lesenswert?

Joe G. schrieb:
> Auf dem PC-Monitor sieht Font 2 trotz fehlenden Abstand bei einigen
> Zeichen optisch am besten aus.

Mich stört der fehlende Abstand. Man müßte zwischen je 2 Zeichen eine 
zusätzliche Punktspalte einfügen. Mit der bestehenden Scanroutine ist 
das aber nicht zu machen. Wenn man 2 weitere Cogs spendieren würde, 
könnte es gehen. Ist aber verhältnismäßig viel Aufwand, und mit den Cogs 
habe ich eigentlich noch anderes vor.

> Auf dem Pollin Teil Font 1.

Was für eine Auflösung hat das Display denn?
Auf meinem Pollin (LS-8, 1024x768) ist der Font zu dünn. Schräge Linien 
sehen etwas angefressen aus.

> Font 0 sieht bei beiden Monitoren nicht so schön aus.

Kein Wunder, das ist ein 8x8 Font, bei dem jede Zeile doppelt 
dargestellt wird.

> Bei der Synchronisation sieht es bei beiden Bildschirmen am Besten bei
> ' --> fH: 31,3 KHz  fV 59,5 Hz aus. Sie synchronisieren sehr sauber.

Ich glaube, daß geht bei mir auch am Besten. Die Parameter sind von 
hier:
http://tinyvga.com/vga-timing/640x480@60Hz

Die Werte in der "-->" Zeile sind das, was mein "richtiger" Monitor 
anzeigt.

Dein Bild ist aber wirklich super. Damit meine ich jetzt nicht die 
Qualität des Videosignals. Ich kriegs so (mit meinem Händi) nicht hin. 
Entweder habe ich starke Spiegelungen, oder die Bildpunkte sind total 
überstrahlt.

> Zu den Farben kann nicht noch nichts sagen, das erfordert mehr Arbeit.
> Doch das angefügte Bild auf dem Pollin Bildschirm (10,4  Zoll) wollte
> ich dir nicht vorenthalten. Es ist tatsächlich ein Foto vom Bildschirm.
> Ein wirklich super Bild!

Bei mir sieht das Grün auf dem LS-8 viel heller aus. Inzwischen habe ich 
auch noch mal auf dem PC-Monitor geschaut. Da geht es ganz gut.

Aber jetzt bin ich dabei, die Palette einstellbar zu machen. 
(Steuersequenzen, und später auch über Setup). Aber sinnvolle Defaults 
braucht man trotzdem.

von Leo C. (rapid)


Angehängte Dateien:

Lesenswert?

Jetzt habe ich es doch noch geschafft.

Der HD-Monitor ist so eingestellt, daß das Bild nicht skaliert, sondern 
jeder Punkt 1:1 in der Bildschirmmitte dargestellt wird.

In der unteren Hälfte (Bright Forground) sollten alle Zahlen zu sehen 
sein. Das ist auf dem LS-8 nicht der Fall. Weiß und Hellgrau 
(Hintergrund der letzten Spalte und der Schrift)  sind praktisch nicht 
zu unterscheiden.

von Joe G. (feinmechaniker) Benutzerseite


Angehängte Dateien:

Lesenswert?

Leo C. schrieb:
> 4. Attribute
>    Was braucht man denn noch, bzw. was wäre wünschenswert?
>    Wir haben Farben, bright, und invers.
Ich kann wunderbar mit Font 1 (127 Zeichen) leben. Es muss nicht 
Codepage 850 sein. Font 1 enthält im unteren Bereich auch ganz nützliche 
Rahmensymbole. Die zweiten 127 Zeichen würde ich dem unterstrichenen 
Font spendieren, so wie es jetzt gemacht ist. Bold und blinken muss 
nicht sein. Bold kann ja individuell mit einer anderen Farbe belegt 
sein.

> Was für eine Auflösung hat das Display denn?
Genau 640x480, also optimal. Laut Pollindatenblatt ist es ein G104V1-T01 
[1].

> Dein Bild ist aber wirklich super.
Spiegelreflexkamera, dunkel, kurze Belichtungszeit, offene Blende :-)

Bei mir zeigen beide Monitore das gleiche Farbverhalten (siehe Fotos, 
links Pollin, rechts Monitor). Das Pollindisplay ist sogar etwas besser 
im Kontrast. Die Streifen resultieren irgendwie aus der Überlagerung 
Display - Kamera.

[1] 
http://www.display-solution.com/en/products/tft_displays/chimei_innolux_cmi_lcd/G104V1-T01_en.html

von Marcel A. (dl1ekm)


Lesenswert?

Welche Pollin-Displays verwendet ihr denn genau?
Dann könnte ich mir mal eins bestellen.

von Leo C. (rapid)


Lesenswert?

Marcel A. schrieb:
> Welche Pollin-Displays verwendet ihr denn genau?

Leo C. schrieb:
> Mein LS-8 von Pollin ist etwas zickig und tat es mit den

Leo C. schrieb:
> Auf meinem Pollin (LS-8, 1024x768) ist der Font zu dünn. Schräge Linien

Leo C. schrieb:
> Bei mir sieht das Grün auf dem LS-8 viel heller aus. Inzwischen habe ich

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Joe G. schrieb:
> Laut Pollindatenblatt ist es ein G104V1-T01

von Leo C. (rapid)


Lesenswert?

Joe G. schrieb:
> Ich kann wunderbar mit Font 1 (127 Zeichen) leben. Es muss nicht
> Codepage 850 sein. Font 1 enthält im unteren Bereich auch ganz nützliche
> Rahmensymbole.

So wirds wohl werden.

> Die zweiten 127 Zeichen würde ich dem unterstrichenen
> Font spendieren, so wie es jetzt gemacht ist.

Unterstreichen habe ich jetzt im Treiber hinbekommen. D.h, man kann 
Speicher für die 128 unterstrichenen Zeichen einsparen. Pro Font sind 
das 2048 Byte.

> Bold und blinken muss nicht sein.

> Bold kann ja individuell mit einer anderen Farbe belegt
> sein.

Das haben wir ja jetzt. Aber solange Platz ist, werde ich weiterhin 
verschiedene Fonts zum Umschalten einbauen. Es scheint ja so zu sein, 
daß je nach Display ein Font mit schmaleren oder fetteren Strichen 
besser aussieht.

Ladbare Farbpalette habe ich jetzt auch hinbekommen.
Ich hatte die Idee, eine Hintergrundfarbe durch Unterstreichen zu 
ersetzen. Aber das funktioniert natürlich nicht, da das unterstrichene 
Zeichen dann ja keine Hintergrundfarbe mehr hätte...

>> Laut Pollindatenblatt ist es ein G104V1-T01

Beim Pollin war's aber mit Controller, oder? Und es ist wohl nicht mehr 
lieferbar. Ich meine, das ist das Display, das ich auch mal kaufen 
wollte. Aber ich hatte das zu lange aufgeschoben.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Leo C. schrieb:
> Beim Pollin war's aber mit Controller, oder?

Es waren damals 4 Baugruppen. Display, VGA-Board, CCFL Inverter und 
Bedienpanel. Die Bestellnummer lautete 007-074-03. Keine Ahnung ob es 
das noch gibt.

von Leo C. (rapid)


Angehängte Dateien:

Lesenswert?

Im SVN ist ein Update, das die VT100 character sets unterstützt. Wenn 
wir Umlaute haben wollen, und bei 128 Zeichen bleiben wollen, müßten 
einige der Zeichen unter "DEC Special graphics and line drawing" 
ausgetauscht werden. Auf welche Zeichen könnten wir denn verzichten?

Edit: Auf dem Foto ist noch ein Fehler zu sehen. Im SVN ist er aber 
korrigiert.

: Bearbeitet durch User
von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Mir ist der Aufruf noch nicht ganz klar, ESC ( oder ) wählen G0 oder G1 
und A, B oder 0 dann das jeweilige Set, doch bei mir passiert nichts.

von Leo C. (rapid)


Lesenswert?

Es gibt 2 Sets, zwischen denen man umschalten kann:
1
Shift out SO 0x0E   Selects G1 character set
2
Shift in  SI 0x0F   Selects G0 character set

G0 und G1 sind aber nicht fest, sondern können mit verschiedenen 
Zeichensätzen belegt werden:
1
Character Set                         G0 Designator   G1 Designator
2
-------------------------------------------------------------------
3
United Kingdom (UK)                   ESC ( A         ESC ) A
4
United States (US)                    ESC ( B         ESC ) B
5
Special chars and line drawing set    ESC ( 0         ESC ) 0
6
Alternate char ROM                    ESC ( 1         ESC ) 1
7
Alternate char ROM - special chars    ESC ( 2         ESC ) 2

Nach Start/Reset sind sowohl G0, als auch G1 mit US ASCII belegt. Man 
kann dann z.B. mit "ESC ) 0" den Zeichensatz mit den Spezial- und 
Liniensymbolen auf G1 legen, und anschließend mit SI und SO zwischen 
ASCII (G0) und "Special characters and line drawing set" (G1) 
umschalten.

Die Alternate character ROMs haben wir nicht.

von Leo C. (rapid)


Angehängte Dateien:

Lesenswert?

Im Anhang ist eine Liste aller derzeit unterstützten Steuerzeichen und 
-Sequenzen.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Leo C. schrieb:
> Shift out SO 0x0E   Selects G1 character set
> Shift in  SI 0x0F   Selects G0 character set

Danke! Das war der entscheidende Hinweis. Ich muss natürlich mit SI und 
SO umschalten. Außerdem geht es nur mit FONT 0 oder oder 2. Ich hatte es 
mit Font 1 versucht :-(

> Im Anhang ist eine Liste aller derzeit unterstützten Steuerzeichen und
> -Sequenzen.

Das deckt sich ja fast mit den Kommentaren im Quelltext ;-) Ich werde in 
der Doku im Anhang diese Tabelle übernehmen.

> Auf welche Zeichen könnten wir denn verzichten?
Was so für lustige Zeichen existieren :-) Spontan würde ich sagen 
96,98,99, 100,101,104,105 und 127. Die habe ich wirklich noch nie 
benötigt. Wobei ich mir nicht sicher bin ob bei 127 nicht noch ein 
Fehler ist. Die Tabelle mit der ich es verglichen habe [1] hat bei 127 
das gleiche Zeichen wie bei 32.
Für die deutschen Umlaute, also äöüÄÖÜ und ß würden wird 7 Zeichen 
benötigen. Lassen wir 127 weg, reicht es gerade ;-)

[1] http://support.attachmate.com/techdocs/1184.html

von Leo C. (rapid)


Lesenswert?

> SO umschalten. Außerdem geht es nur mit FONT 0 oder oder 2. Ich hatte es
> mit Font 1 versucht :-(

Es gibt nur noch Font 0 und 1. Vorher waren das 1 und 2. Ich habe 
vergessen das Setup-Menu anzupassen.

> Das deckt sich ja fast mit den Kommentaren im Quelltext ;-)

Drapier ein paar CASE-Statements um die Listeneinträge, und Du hast 
wieder ein Programm. ;-)

> 96,98,99, 100,101,104,105 und 127. Die habe ich wirklich noch nie

Auf welche Tabelle bezieht sich Deine Numerierung?

> benötigt. Wobei ich mir nicht sicher bin ob bei 127 nicht noch ein
> Fehler ist. Die Tabelle mit der ich es verglichen habe [1] hat bei 127
> das gleiche Zeichen wie bei 32.

127 ist ein Steuerzeichen und kann im Grunde ignoriert werden.


> [1] http://support.attachmate.com/techdocs/1184.html

Da sind die verschiedenen Character Sets mal recht kompakt auf einer 
Seite.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Leo C. schrieb:
> Auf welche Tabelle bezieht sich Deine Numerierung?

Auf DEC Special Graphic Character Set (VT Emulation), bei dir Special 
chars and line drawing set.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Leo C. schrieb:
> Im SVN ist ein Update, das die VT100 character sets unterstützt. Wenn
> wir Umlaute haben wollen, und bei 128 Zeichen bleiben wollen, müßten
> einige der Zeichen unter "DEC Special graphics and line drawing"
> ausgetauscht werden. Auf welche Zeichen könnten wir denn verzichten?

Deine Frage verstehe ich nicht. Warum willst Du die Umlaute in den 
Graphic-Character-Zeichensatz knallen? Dafür gibt es doch den German 
Character Set im VT102-Standard, auswählbar mit <ESC>(K (G0) bzw <ESC>)K 
(G1). Dabei werden die Zeichen \|{[]}~ durch die deutschen Umlaute bzw. 
das ß ersetzt.

Oder ist dafür nicht mehr genügend Speicherplatz?

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Joe G. schrieb:
> Auf DEC Special Graphic Character Set (VT Emulation), bei dir Special
> chars and line drawing set.

Ich war zu schnell mit der Enter-Taste :-(
Mit der Nummerierung meine ich den ASCII-Code (dezimal).

von Leo C. (rapid)


Lesenswert?

Frank M. schrieb:
> Dafür gibt es doch den German Character Set im VT102-Standard,
> auswählbar mit <ESC>(K (G0) bzw <ESC>)K (G1).

National replacement character (NRC) sets
Finde ich erst ab VT200, ist aber egal.

> Oder ist dafür nicht mehr genügend Speicherplatz?

Im Bildwiederholspeicher ist nur für 127 verschiedene Zeichen Platz, 
wenn wir ein Bit für ein Attribut nutzen. Also können wir nicht mehr 
Zeichen gleichzeitig darstellen. Mit NRC hätte man zwar die Spezial- und 
Graphik-Zeichen, aber \|{[]}~ nicht mehr. Und auf letztere will 
zumindest ich nicht verzichten.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Leo C. schrieb:
> Im Bildwiederholspeicher ist nur für 127 verschiedene Zeichen Platz,
> wenn wir ein Bit für ein Attribut nutzen. Also können wir nicht mehr
> Zeichen gleichzeitig darstellen. Mit NRC hätte man zwar die Spezial- und
> Graphik-Zeichen, aber \|{[]}~ nicht mehr. Und auf letztere will
> zumindest ich nicht verzichten.

Meines Erachtens geht das schon.

In den 80ern hatte ich unter UNIX die Aufgabe, eine 8-Bit-fähige 
Curses-Bibkliothek zu schreiben, die sowohl Graphikzeichen als auch 
Umlaute als auch französische Sonderzeichen (und noch andere exotische 
Zeichen) auf den Bildschirm zu bringen, obwohl nur 7-Bit-fähige 
VT102-Terminals eingesetzt wurden.(*)

Die Lösung war folgende:

Als Basiszeichensatz wurde ISO8859-1 gewählt (weitestgehend identisch 
mit dem DEC-Multicharacter-Zeichensatz), also ein 8-Bit-Zeichensatz. Die 
DEC-Graphikzeichen wurden in den ungenutzten Bereich 0x80-0x9F 
"eingelagert".

Ausgabe der 8-Bit-Zeichen

In G0 wurde mittels <ESC>(B der USASCII-Zeichensatz geladen, damit hat 
man schon mal die halbe Miete.

Solte jetzt ein nationales Sonderzeichen (obere 8-Bit-Hälfte von 
ISO8859-1) ausgegeben werden, wurde über eine Lookup-Tabelle mit

      "\033)K"                 /* GERMAN           */
      "\033)A"                 /* United Kingdom   */
      "\033)E"                 /* DANISH           */
      "\033)R"                 /* FRENCH           */
      "\033)Z"                 /* SPANISH          */
      "\033)0"                 /* GRAPHIC          */

G1 mit dem jeweiligen nationalen Zeichensatz geladen, per SO auf G1 
umgeschaltet, das 7-Bit-Zeichen ausgegeben und anschließend - wenn 
wieder ASCII ausreichte - wieder auf G0 per SI umgeschaltet.

So konnte fast der komplette ISO8-Zeichensatz über 7-Bit-Output 
ausgegeben worden. Ein simples addch('ä') löste also den obigen Prozess 
automatisch aus.

(Jetzt magst Du Dich fragen, wie ich das 'ä' überhaupt in den Editor auf 
einem 7-Bit-Terminal eingeben konnte. Ganz einfach: ich hab mir mit 
meiner eigenen Curses-Bibliothek als erstes einen 8-Bit-fähigen Editor 
für 7-Bit-Terminals geschrieben ;-) )

Die damalige Curses-Lib hatte aus Optimierungsgründen ein Abbild des 
kompletten Terminal-Bildschirmspeichers selbst im Speicher - inkl. der 
Attribute und Farben. Diese wurden pro Zeichen in einem separaten Byte 
gespeichert, nämlich

    1 Bit für Unterstreichen
    1 Bit für Fett
    1 Bit für Blinkend
    1 Bit für Invers
    1 Bit für Rot
    1 Bit für Grün
    1 Bit für Gelb
    1 Bit für Weissichnichtmehr

Mit 3 Bit für die Farben (RGB) hat man insgesamt 8 mögliche Farben. 
Genau diese konnten damals auch damalige 
VT100/VT200-Terminal-Emulationen.

> Im Bildwiederholspeicher ist nur für 127 verschiedene Zeichen Platz,
> wenn wir ein Bit für ein Attribut nutzen.

Frage: Was ist das für ein Attribut, was Du in dem Bit ablegst?

Meines Erachtens ist diese ganze Hampelei mit den nationalen 
Zeichensätzen ziemlich aufwendig und kompliziert - auch wenn es geht. 
Wäre es nicht möglich, den kompletten ISO8859-1 (oder ISO8859-15) zu 
nutzen und die Attribute anderweitig abzulegen? Müsstest Du doch auch 
schon so machen, denn schließlich kann das Terminal doch mehr als nur 1 
Attribut?!?

--------------------------------------
(*) Ich habe das Ganze damals in der iX als Artikelreihe mit dem Namen 
"Zeichensalat" veröffentlicht.

: Bearbeitet durch Moderator
von Leo C. (rapid)


Lesenswert?

Joe G. schrieb:
> Auf DEC Special Graphic Character Set (VT Emulation), bei dir Special
> chars and line drawing set.

Ich nehme an, Du meinst die Numerierung in dem angehängten Bild. Den 
Diamond würde ich gerne behalten.

Was wir zur Zeit haben, sieht man mit ESC # 9. Auf 0x02 und 0x7f sind 
zwei ähnliche Schachbrettmuster, von denen man eins vielleicht weglassen 
könnnte. Ausserdem könnte man auf das Zeichen auf Position 0 verzichten.

Also hätte man 0, 2 oder 0x7F, 3, 4, 5, 6, 9 und 0x0A.

Braucht jemand einen '§'?

von Leo C. (rapid)


Lesenswert?

Frank M. schrieb:
> Frage: Was ist das für ein Attribut, was Du in dem Bit ablegst?

Unterstreichen.

Ich muß jetzt leider weg. Auf den Rest werde ich heute Abend eingehen.


Nachtrag hier, da ich den Artikel davor nicht mehr ändern kann:

> Was wir zur Zeit haben, sieht man mit ESC # 9.

Nur die erste Hälfte ist relevant. Auf die 2. Hälfte wird nicht mehr 
zugegriffen, da das Unterstreichen im Videogenerator erledigt wird 
(vgacolor.spin).

: Bearbeitet durch User
von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Leo C. schrieb:
> Also hätte man 0, 2 oder 0x7F, 3, 4, 5, 6, 9 und 0x0A.

Genau diese Zeichen Zeichen meinte ich, ich hatte den ASCI-Code notiert 
und nicht die Position im Zeichensatz. Ich würde dann lieber die 2 statt 
0x7F weglassen, dann sind alle Umlaute in etwa im gleichen Bereich.
Der '§' darf ruhig wegfallen. Er wird eh viel zu oft mißbraucht ;-)

von Leo C. (rapid)


Lesenswert?

Frank M. schrieb:
> Als Basiszeichensatz wurde ISO8859-1 gewählt (weitestgehend identisch
> mit dem DEC-Multicharacter-Zeichensatz), also ein 8-Bit-Zeichensatz. Die
...
> So konnte fast der komplette ISO8-Zeichensatz über 7-Bit-Output
> ausgegeben worden.

Eben. Das Terminal selbst hatte ca. 256 Zeichen direkt im Zugriff. Nur 
der Übertragungskanal war auf 7 Bit beschränkt.

> Meines Erachtens ist diese ganze Hampelei mit den nationalen
> Zeichensätzen ziemlich aufwendig und kompliziert - auch wenn es geht.

Das sehe ich auch so. Und wenn wir Platz für ISO8859-15 hätten, würde 
ich das auch realisieren, und die Umschalterei allenfalls noch aus 
Kompatibiltätsgründen einbauen.

> Wäre es nicht möglich, den kompletten ISO8859-1 (oder ISO8859-15) zu
> nutzen und die Attribute anderweitig abzulegen? Müsstest Du doch auch
> schon so machen, denn schließlich kann das Terminal doch mehr als nur 1
> Attribut?!?

Außer diesem einen Attribut haben wir noch 2 mal 4 Bit für je 16 
Vordergrund- und Hintergrundfarben. Invers geht dann, indem man Vorder 
und Hintergrund tauscht. Statt Bold kann man auch auf eine helle Farbe 
(Bright) umschalten. Blinken nervt nur, und scheint zum Glück niemand zu 
wollen.

Der Bildwiederholspeicher ist also 16 Bit breit und 80x30 Zeichen groß. 
(4800 Byte). Der Propeller hat 32 KByte RAM, in die Programm und Daten 
passen müssen. Ein Byte mehr pro Zeichen für Attribute wäre aber 
wahrscheinlich noch möglich. Allerdings könnte die derzeitige 
Scanroutine, die das Bild zum VGA-Ausgang schaufelt, nichts damit 
anfangen. In die Ausgabeschleife paßt kein einziger Befehl mehr. Es 
reicht schon, Befehle zu verschieben, damit das Bild instabil wird.

Man könte sich auch mit 8 Hintergrundfarben begnügen, um ein Bit frei zu 
bekommen. Das ist dann nicht mehr mit Xterm und der Linux-Console 
kompatibel, Invers und Bold (Highlight) sind möglicherweise nicht mehr 
verlustfrei umkehrbar, aber vielleicht wäre das doch der bessere 
Kompromiss.

Mal sehn, was wir noch an Propeller-Resourcen frei haben, wenn das 
Programm vollständig ist. Zur Zeit fehlen noch Flußsteuerung, eine 
bessere Tastaturunterstützung und vielleicht ein erweitertes Setup.
Vielleicht kann man die Videoausgabe auf 3 oder 4 COGs (Prozessorkerne) 
verteilen, und das Videoram auf 32 bit erweitern. Dann hätte man Platz 
für je 6 Bit Vorder- und Hitergrundfarbe. Die Hardware hat für RGB 
jeweils 2 Bit. Man könnte also jede Farbe dierekt ansteuern und wäre 
nicht mehr auf eine Palette angewiesen. Für sonstige Attribute hätte man 
dann noch 4 Bit.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Leo C. schrieb:
> Außer diesem einen Attribut haben wir noch 2 mal 4 Bit für je 16
> Vordergrund- und Hintergrundfarben.

Komisch, ich dachte, der Standard würde nur je 8 Hintergrund- und 8 
Vordergrundfarben vorsehen.

> Invers geht dann, indem man Vorder und Hintergrund tauscht.

Ja.

> Statt Bold kann man auch auf eine helle Farbe (Bright) umschalten.

Ja.

> Blinken nervt nur, und scheint zum Glück niemand zu wollen.

Ja,

> Ein Byte mehr pro Zeichen für Attribute wäre aber
> wahrscheinlich noch möglich.

Gut.

> Allerdings könnte die derzeitige
> Scanroutine, die das Bild zum VGA-Ausgang schaufelt, nichts damit
> anfangen. In die Ausgabeschleife paßt kein einziger Befehl mehr. Es
> reicht schon, Befehle zu verschieben, damit das Bild instabil wird.

Ließe sich das optimieren?

> Man könte sich auch mit 8 Hintergrundfarben begnügen,

Keine Vordergrundfarben mehr? Dann finde ich das eigentlich nicht so 
prickelnd.

> Mal sehn, was wir noch an Propeller-Resourcen frei haben, wenn das
> Programm vollständig ist. Zur Zeit fehlen noch Flußsteuerung, eine
> bessere Tastaturunterstützung und vielleicht ein erweitertes Setup.

Ich finde das echt klasse, was Ihr da leistet.

Ich hätte da einen Vorschlag: Ich könnte mittels der 
MCURSES-Bibliothek, die ich mal verbrochen und hier auf µC.net 
abgelegt habe, eine Test-Suite erstellen. Dann kann man bestimmete 
Funktionalitäten wie Scrolling-Regions etc. direkt testen und zum 
Beispiel mit dem Output, welchen PuTTY oder die Linux-Console 
produzieren, direkt vergleichen. Wenn auf beiden Terminals immer das 
gleiche Bild entsteht, hat Euer Terminal den Test bestanden ;-)

> Vielleicht kann man die Videoausgabe auf 3 oder 4 COGs (Prozessorkerne)
> verteilen, und das Videoram auf 32 bit erweitern. Dann hätte man Platz
> für je 6 Bit Vorder- und Hitergrundfarbe. Die Hardware hat für RGB
> jeweils 2 Bit. Man könnte also jede Farbe dierekt ansteuern und wäre
> nicht mehr auf eine Palette angewiesen. Für sonstige Attribute hätte man
> dann noch 4 Bit.

Ich muss mir den Source-Code mal näher anschauen, muss aber gestehen, 
dass ich von Propeller momentan keine Ahnung habe.

: Bearbeitet durch Moderator
von Leo C. (rapid)


Angehängte Dateien:

Lesenswert?

> Komisch, ich dachte, der Standard würde nur je 8 Hintergrund- und 8
> Vordergrundfarben vorsehen.

Nach ISO 6429 gibt es 8 Farben in "Normal" und "Hell" (Bright). Die 
hellen Farben kann man nicht direkt auswählen, sondern über ein Attribut 
wie Bold oder "high intensity". Direkte Auswahl ist eine Erweiterung, 
die von aixterm kommt. Ein Link sagt mehr als 1000 Worte: ;)
https://en.wikipedia.org/wiki/ANSI_escape_code#Colors

>> Man könte sich auch mit 8 Hintergrundfarben begnügen,
> Keine Vordergrundfarben mehr? Dann finde ich das eigentlich nicht so
> prickelnd.

8 statt 16 Hintergrund- und weiterhin 16 Vordergrundfarben. Im 
Attributspeicher hätte man dann 3 Bit für Hinter- und 4 Bit für 
Vordergrund. So wars gemeint.

> Ich hätte da einen Vorschlag: Ich könnte mittels der
> MCURSES-Bibliothek, die ich mal verbrochen und hier auf µC.net
> abgelegt habe,

Kenne ich natürlich. Ich spiele mit dem Gedanken, Dein MCURSES für das 
Z180-Stamp-Projekt zu verwenden. Dort gibt es einen Monitor, der auf 
einem AVR läuft und über eine serielle Console bedient wird. Der Monitor 
kann auf dem Z180 ein Programm (z.B. CP/M) starten, und dessen Console 
transparent über die eingene Terminalschnittstelle zum User 
durchreichen. Nun wäre es praktisch, wenn man im AVR-Monitor ein 
Split-Screen machen könnte, damit die Ausgaben von beiden Systemen immer 
schön getrenn bleiben. Bisher habe ich das nicht realisiert, weil 
MCURSES die Fenstergröße zur Laufzeit nicht ändern kann. Das brauche 
ich, weil ich auf die Möglichkeit, das Xterm-Fenster den momentanen 
Platzverhältnissen auf meinem Monitor anzupassen, nicht verzichten will.
Mein Versuch, MCURSES dafür zu erweitern, ist vor einer Weile kläglich 
gescheitert. (Ich schicke "ESC [ 6 n" (Cursor position report) ans 
Terminal und versuche die Antwort aus dem Input-Stream herauszufischen.)

> eine Test-Suite erstellen. Dann kann man bestimmete
> Funktionalitäten wie Scrolling-Regions
                       ^^^^^^^^^^^^^^^^^
Gerade die fehlt noch. (Wenn überhaupt, dann nur eine)

> etc. direkt testen und zum
> Beispiel mit dem Output, welchen PuTTY oder die Linux-Console
> produzieren, direkt vergleichen. Wenn auf beiden Terminals immer das
> gleiche Bild entsteht, hat Euer Terminal den Test bestanden ;-)

Davon wird Dich sicher niemand abhalten. :)
Zur Zeit teste ich mit vttest. Das läuft nur auf Unix/Linux (irgendwo 
gibt es einen veralteten Cygwin Port) und leider nur dann richtig, wenn 
das zu testende Terminal auch die Login-Console ist. Wenn ich die 
Ausgabe auf eine serielle Schnittstelle umleite, wird statt CR/LF nur 
noch LF ausgegeben. Außerdem taugt das Programm nur für geht/geht nicht 
Tests. Die fehlerhafte Stelle zu finden, ist damit recht schwierig. Der 
Fehler im angehängten Bild kommt allerdings durch das CR/LF-Problem.

> Ich muss mir den Source-Code mal näher anschauen, muss aber gestehen,
> dass ich von Propeller momentan keine Ahnung habe.

Ging mir vor ein paar Wochen auch so. ;)
Der Propeller hat einen eingebauten Bytecode-Interpreter für die 
Programmiersprache Spin. Das ist eine Art Basic-Dialekt. Der Spin-Teil 
des Terminalprogramms ist sicher leicht zu verstehen. Zeitkritische 
Teile wie die Videosignalerzeugung müssen aber in Assembler programmiert 
werden. Und der Assembler ist schon sehr gewöhnungsbedürftig.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Leo C. schrieb:
>> Komisch, ich dachte, der Standard würde nur je 8 Hintergrund- und 8
>> Vordergrundfarben vorsehen.
>
> Nach ISO 6429 gibt es 8 Farben in "Normal" und "Hell" (Bright). Die
> hellen Farben kann man nicht direkt auswählen, sondern über ein Attribut
> wie Bold oder "high intensity".

Dann meinten wir beide dasselbe: 8/8 Farben in Bold und Normal.

> Direkte Auswahl ist eine Erweiterung,  die von aixterm kommt.

Kenne ich von früher :-)

> Ein Link sagt mehr als 1000 Worte: ;)
> https://en.wikipedia.org/wiki/ANSI_escape_code#Colors

Netter Link, danke.

> 8 statt 16 Hintergrund- und weiterhin 16 Vordergrundfarben.

Achso, okay. Wäre dann nicht sooo schlimm. "Fetter" Hintergrund
(also in Bold) muss wirklich nicht sein. ;-)

> Nun wäre es praktisch, wenn man im AVR-Monitor ein
> Split-Screen machen könnte, damit die Ausgaben von beiden Systemen immer
> schön getrenn bleiben.

Scrolling-Region einbauen, die Du einmal in die obere Hälfte, das andere 
Mal in die untere Hälfte legst - je nachdem, wo Du Zeichen ausgeben 
möchtest ;-)

> Bisher habe ich das nicht realisiert, weil
> MCURSES die Fenstergröße zur Laufzeit nicht ändern kann.

Ja, das ist ein Nachteil, den ich aber nicht sooo gravierend finde. Eine 
feste Maximal-Zahl von Zeilen/Spalten (z.B. 35/135) reicht Dir nicht?

> Mein Versuch, MCURSES dafür zu erweitern, ist vor einer Weile kläglich
> gescheitert. (Ich schicke "ESC [ 6 n" (Cursor position report) ans
> Terminal und versuche die Antwort aus dem Input-Stream herauszufischen.)

Schaue ich mir mal an.

>> eine Test-Suite erstellen. Dann kann man bestimmete
>> Funktionalitäten wie Scrolling-Regions
>                        ^^^^^^^^^^^^^^^^^
> Gerade die fehlt noch. (Wenn überhaupt, dann nur eine)

Aber die finde ich enorm wichtig. Ohne Scrolling Regions auch kein 
(simpler) Monitor bzw. Editor.

> Davon wird Dich sicher niemand abhalten. :)

Ich bau da mal was, lauffähig auf Linux & µC.

> Zur Zeit teste ich mit vttest.

Kenne ich nicht.

> Das läuft nur auf Unix/Linux (irgendwo
> gibt es einen veralteten Cygwin Port) und leider nur dann richtig, wenn
> das zu testende Terminal auch die Login-Console ist. Wenn ich die
> Ausgabe auf eine serielle Schnittstelle umleite, wird statt CR/LF nur
> noch LF ausgegeben. Außerdem taugt das Programm nur für geht/geht nicht
> Tests. Die fehlerhafte Stelle zu finden, ist damit recht schwierig. Der
> Fehler im angehängten Bild kommt allerdings durch das CR/LF-Problem.

Ich sehe das genau umgekehrt: Das Programm an der Linux-Console läuft 
verkehrt. Denn hier wird \n vom TTY-Treiber auf \r\n gemappt. Bei 
Umleitung auf die serielle Schnittstelle geht alles 1:1 durch und \n 
bleibt \n.

vttest scheint also nur ein \n zu schicken, weil es auf das Mapping des 
TTY-Treibers vertraut. Dann arbeitet es aber nicht transparent.

Tipp: Wenn Du umlenkst und dasselbe Mapping-Verhalten wie auf der 
Console haben möchtest:

    stty onlcr </dev/ttyxxx

Damit schaltest Du das NL -> CR Mapping ein.

> Der Propeller hat einen eingebauten Bytecode-Interpreter für die
> Programmiersprache Spin. Das ist eine Art Basic-Dialekt. Der Spin-Teil
> des Terminalprogramms ist sicher leicht zu verstehen. Zeitkritische
> Teile wie die Videosignalerzeugung müssen aber in Assembler programmiert
> werden. Und der Assembler ist schon sehr gewöhnungsbedürftig.

Hm. Was zeichnet den Propeller aus, dass er gegenüber einem STM32 den 
Vorzug bekommen würde?

von Leo C. (rapid)


Lesenswert?

> MCURSES

Dazu habe ich jetzt im MCURSES-Thread geantwortet:
Beitrag "Re: MCURSES - Mini Curses Bibliothek für Mikrocontroller"

> Aber die finde ich enorm wichtig. Ohne Scrolling Regions auch kein
> (simpler) Monitor bzw. Editor.

Ja, Ja. Aber die CP/M-Programme, für die das Terminal in erster Linie 
gedacht ist, machen keinen Gebrauch davon. Ich habe Scrolling Regions 
auch deshalb zurückgestellt, weil sie auf die Performance gehen, die eh 
(noch) zu wünschen übrig läßt. Wenn der Rest mal läuft, will ich die 
Routinen, die den Bildspeicher manipulieren (scrolling) in Assembler in 
einen eigenen Prozessorkern verlagern.

> vttest scheint also nur ein \n zu schicken, weil es auf das Mapping des
> TTY-Treibers vertraut. Dann arbeitet es aber nicht transparent.

So ist es.

> Tipp: Wenn Du umlenkst und dasselbe Mapping-Verhalten wie auf der
> Console haben möchtest:

>     stty onlcr </dev/ttyxxx

> Damit schaltest Du das NL -> CR Mapping ein.

Danke, ich wußte, das es so etwas gibt, hatte es aber nicht gefunden.
Inzwischen ausprobiert: Funktioniert leider nicht. vttest setzt die 
tty-Parameter selber.

> Hm. Was zeichnet den Propeller aus, dass er gegenüber einem STM32 den
> Vorzug bekommen würde?

Das es ihn schon viel länger gibt? Den Chip gibts schon sehr lange und 
ist bei Hobbyisten sehr beliebt. Zu den Features zählen eingebauter 
Bootloader, einfache, Basic-artige Programmiersprache, eingebauter 
Video-Generator für VGA- und Composite-Signale. Fertige (Assembler-) 
Module für Video, Serielle Schnittstelle, PS/2-Keyboard und -Maus gibts 
auch fertig.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Leo C. schrieb:
> Danke, ich wußte, das es so etwas gibt, hatte es aber nicht gefunden.
> Inzwischen ausprobiert: Funktioniert leider nicht.

Sorry, opost muss auch noch gesetzt werden, damit post processing 
überhaupt aktiviert ist.

Also:

  stty opost onlcr </dev/ttyxxx

> vttest setzt die tty-Parameter selber.

Dann hätte es sich aber auf dem seriellen TTY als auch auf der Console 
gleich verhalten müssen?!?

Jetzt war ich doch gespannt und hab mir vttest mal runtergeladen. Hm, 
sieht so aus, als ob nur Input-Flags manipuliert werden und die 
Output-Flags unangetastet bleiben. Daher sollte obiger stty-Befehl vor 
dem Ausführen von vttest durchaus funktionieren.

Nichtsdestotrotz denke ich über eine Test-Suite nach ;-)

> Das es ihn schon viel länger gibt? Den Chip gibts schon sehr lange und
> ist bei Hobbyisten sehr beliebt. Zu den Features zählen eingebauter
> Bootloader, einfache, Basic-artige Programmiersprache, eingebauter
> Video-Generator für VGA- und Composite-Signale. Fertige (Assembler-)
> Module für Video, Serielle Schnittstelle, PS/2-Keyboard und -Maus gibts
> auch fertig.

Hört sich wirklich gut an, gerade der Video-Generator.

: Bearbeitet durch Moderator
von Leo C. (rapid)


Lesenswert?

Frank M. schrieb:
>   stty opost onlcr </dev/ttyxxx

Danke, so gehts tatsächlich.


>> vttest setzt die tty-Parameter selber.
> Dann hätte es sich aber auf dem seriellen TTY als auch auf der Console
> gleich verhalten müssen?!?

Ich habe vttest inzwischen mit DEBUG-Log laufen lassen und gemerkt, daß 
es daran nicht liegt.

> Jetzt war ich doch gespannt und hab mir vttest mal runtergeladen. Hm,
> sieht so aus, als ob nur Input-Flags manipuliert werden und die
> Output-Flags unangetastet bleiben. Daher sollte obiger stty-Befehl vor
> dem Ausführen von vttest durchaus funktionieren.

Kann ich jetzt bestätigen. :)

> Nichtsdestotrotz denke ich über eine Test-Suite nach ;-)

Gerne. ;)

> Hört sich wirklich gut an, gerade der Video-Generator.

Es ist eigentlich nur ein Schieberegister mit nachgeschaltetem 
Multiplexer. Der Prozessor kann auf den Ladezeitpunkt des 
Schieberegisters synchronisiert werden (d.h. angehlten, befehl 
'waitvid'). Wenn er zu spät kommt, weil er zu lange braucht um die 
nächsten Bildpunkte aufzubereiten, gibts Bildsalat. Da der Chip aber 8 
Kerne hat, die alle gleich ausgestattet sind, also auch 8 
Videogeneratoren, können ein oder mehrere Kerne die nächsten Bildzeilen 
berechnen, während ein Kern die aktuelle Zeile ausgibt. Theoretisch 
könnte man also nahezu beliebig komplexe Videosignale generieren, wenn 
man nur genügend Kerne auf das Problem wirft. Leider ist der Speicher 
pro Kern auf 512 Worte a 32 bit beschränkt.
Und die werden bei längeren Bildzeilen, vielen Farben oder komplexer 
Attributaufbereitung schnell voll.

von Petr (Gast)


Lesenswert?

Hallo!

Wäre noch 1 Platine, bzw. 1 Set da?

Danke!

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Leo C. schrieb:
> In die Ausgabeschleife paßt kein einziger Befehl mehr. Es
> reicht schon, Befehle zu verschieben, damit das Bild instabil wird.

Man könnte noch den Propeller mit 6 MHz übertakten. Mein Versuchsaufbau 
macht das gerade mit. Ob es jedoch für eine breite Anwendung 
reproduzierbar ist, müsste gestestet werden.


Petr schrieb:
> Wäre noch 1 Platine, bzw. 1 Set da?

Ja, eine Platine und 1 Propeller IC sind verfügbar.

von Petr (Gast)


Lesenswert?

Joe G. schrieb:
>
>
> Petr schrieb:
>> Wäre noch 1 Platine, bzw. 1 Set da?
>
> Ja, eine Platine und 1 Propeller IC sind verfügbar.

Ich würde beides gerne nehmen, heute Abend melde ich mich per PN (bin 
noch nicht registriert hier...)

von Leo C. (rapid)


Lesenswert?

Joe G. schrieb:
> Man könnte noch den Propeller mit 6 MHz übertakten. Mein Versuchsaufbau
> macht das gerade mit. Ob es jedoch für eine breite Anwendung
> reproduzierbar ist, müsste gestestet werden.

Nach dem, was man so im Netz findet, scheint das gut zu funktionieren. 
Aber im Moment reichen die 5MHz ja gerade. Aber gut zu wissen.

von Marcel A. (dl1ekm)


Lesenswert?

Hallo Joe,

ich baue mir gerade die V1.1 für den Z180-Rechner zusammen.

Zwei Dinge sind mir bislang aufgefallen:
Könnte man in einer V1.2 auch vorsehen, die 5V extern zuzuführen? Also 
wie bei der AVR Stamp per Jumper schaltbar? So bliebe der 5V Anschluss 
nutzbar, auch wenn die Spannung von ECB kommmt.
Hast du einen guten Vorschlag, wie ich das auf der V1.1 am besten mache? 
Die 5V_USB gehen ja zu vielen Stellen...

Und ich bin bei der Anleitung nicht ganz durchgestiegen, welche 
Bedeutung die Jumper 1-4 haben. Wann sind sie für die Programmierung 
notwendig, wann für die Quellen-Umschaltung etc...
Kannst du das noch mal bitte etwas aufdröseln?


Danke und Gruß
Marcel

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Wenn du das Terminal über die RS232 anschließt, so benötigst du ja USB 
nicht. Damit kann die 5V über ein einfaches 5V USB Netzteil an der USB 
Buchse angelegt werden.

JP2 und JP3 können offen bleiben.
JP4 je nachdem über welche Schnittstelle du den Propeller programmierst. 
Also entweder über USB, dann JP4 auf USB oder RS232 dann JP4 auf RS232. 
Hier wird lediglich festgelegt, woher der Propeller sein Resetimpuls 
bekommt.
JP1 muss geschlossen sein. Damit kann per Software von RS232 auf USB und 
umgekehrt geschaltet werden.
Nach erfolgreicher Programmierung sollte der Jumper von JP4 ganz gezogen 
werden, damit die Schnittstelle über DSR oder RTS kein Reset auslöst.

von Marcel A. (dl1ekm)


Lesenswert?

Habe jetzt den Propeller bestückt und er wird auch von der IDE erkannt.
Was mich wundert: Die rote und blaue (eigentlich grüne) LED leuchten 
immer. Nur die blau/grüne LED1 flackert beim Einstecken.
Ist das normal?

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Marcel A. schrieb:
> Ist das normal?

Nein. Die LED's sollten nur beim Senden oder Empfangen (über USB) 
leuchten.

von Marcel A. (dl1ekm)


Lesenswert?

Erfolg! Platine läuft (wie üblich ein Kontaktproblem und die Vergessene 
Drahtbrücke am MAX).
Kann es sein, dass ich trotz 100facher Prüfung die LEDs verkehrt heraum 
eingebaut habe? Jedenfalls klappt die Umschaltung RS232/USB Port (LEDs 
gehen aus beim Umschalten auf RS232).

Drei Fragen/Hinweise habe ich noch:
Bei meiner WS3.0-Version stürzt der VT100-Stamp ab, sobald das Menü 
angezeigt werden soll. Es ist auf VT100 eingestellt. Im Terminal 
erscheint alles richtig mit gelben Codes und grünem Text.
Vielleicht habe ich noch eine zu veraltete Firmware drauf? Habe die 
unter source, V1_1 (Rev 172, 6 Monate alt) genommen.
Vielleicht sollte ich die aus dem Work-Verzeichnis nehmen?

Wie ist denn der letzte Stand eurer Diskussion zum Thema Farbe?
Hier steht in der Doku etwas von "Farbmodell der VGA Grafik (nicht full 
color mode). Jedem Zeichen wird ein Farbbyte zugeordnet mit den 
folgenden Aufbau zugeordnet. RRGGBB00. Damit sind pro Farbe drei 
Abstufungen möglich."
Ich hatte bisher angenommen, dass für den ganzen Bildschirm nur eine 
Front- und eine Background-Farbe eingestellt werden kann?

Ihr habt weiter oben so schön über Zeichensätze diskutiert. Gerade an 
den "Rahmensymbolen" hätte ich Interesse. Wie ist denn da der aktuelle 
Stand und ist schon irgendwo beschrieben, wie man diese Zeichensätze 
nutzt?

Vielen Dank und Gruß
Marcel

von Leo C. (rapid)


Lesenswert?

> Vielleicht sollte ich die aus dem Work-Verzeichnis nehmen?

Unbedingt. ;-)

Marcel A. schrieb:
> Wie ist denn der letzte Stand eurer Diskussion zum Thema Farbe?

Für jedes Zeichen kann die Vorder- und Hintergrundfarbe getrennt aus 
Palette mit 16 Farben gewählt werden. Die Palette kann in der Datei 
'VGA_640.spin' angepaßt werden. Escape-Sequenzen dafür fehlen noch.

> Ich hatte bisher angenommen, dass für den ganzen Bildschirm nur eine
> Front- und eine Background-Farbe eingestellt werden kann?

Das ist aber schon sehr lange veraltet.

> Ihr habt weiter oben so schön über Zeichensätze diskutiert. Gerade an
> den "Rahmensymbolen" hätte ich Interesse. Wie ist denn da der aktuelle
> Stand und ist schon irgendwo beschrieben, wie man diese Zeichensätze
> nutzt?

Klar, im VT100-Handbuch [1]. Wie das mit den Farben funktioniert, ist in 
[2] ganz gut beschrieben. Und in [3] ist eine Liste der derzeit 
unterstützten Steuer-Sequenzen.

[1] http://vt100.net/docs/vt100-ug/
[2] https://en.wikipedia.org/wiki/ANSI_escape_code#Colors
[3] 
https://www.mikrocontroller.net/svnbrowser/avr-cp-m/trunk/VT100/source/work/control-codes.md?view=markup

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Marcel A. schrieb:
> Kann es sein, dass ich trotz 100facher Prüfung die LEDs verkehrt heraum
> eingebaut habe?

Das sieht ganz so aus :-( Du kannst es jedoch sehr einfach prüfen. Es 
gibt ein sehr nützliches Tool [1] um die Pinkonfiguration des FDTI zu 
ändern.

[1] http://www.ftdichip.com/Support/Utilities.htm#FT_PROG

von Marcel A. (dl1ekm)


Lesenswert?

Ich schau mal - aber eigentlich kann das doch nicht...
Auf einer Seite hängen die LEDs an +3,3V.
Der FTDI kann CBUS auf High oder LOW setzen - bei HIGH dürfte die LED 
aus sein, bei LOW an (Spannungsdifferenz).
Wenn ich sie anders herum einbaue, dürfte sie ja nie angehen wegen 
Sperr-Richtung?

von Marcel A. (dl1ekm)


Angehängte Dateien:

Lesenswert?

So,

Thema 1: FTDI und die LEDs. Habe mit dem FTProg-Tool mal geschaut und da 
stimmten tatsächlich die Konfigurationen der Ausgänge nicht (siehe 
Bilder). Da der FT232 so Auslieferungszustand war - vielleicht sollte da 
irgendwo ein Hinweis rein, dass dieser umkonfiguriert werden muss.

Thema 2: Firmware. Habe auf die Version in "work" (meldet sich mit 
"1.7.2 test serial 3") umgestellt. Die Schrift sieht besser aus - aber 
es werden keine Tastatureingaben angenommen (bzw. werden diese direkt 
zum USB-Port geschickt, da blinkt es dann)  - folglich kann ich auch das 
Config-Menü nicht aufrufen oder mit F5 die Quelle umschalten. Komisch.

Generell zum Menü: Könnte man statt F10-Speicherung und Schließen 
vielleicht auch F9 - nur schließen einbauen?

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Marcel A. schrieb:
> Da der FT232 so Auslieferungszustand war - vielleicht sollte da
> irgendwo ein Hinweis rein, dass dieser umkonfiguriert werden muss.

Eigentlich nicht.
"CBUS0  Factory default configuration is TXLED#. See CBUS Signal 
Options, Table 3.99."
Das war bei mir bisher auch immer so.

> aber es werden keine Tastatureingaben angenommen
Ist JP1 gesteckt und R3, 10k bestückt? Dieser Widerstand dient der 
Firmware u.a. der Hardwareerkennung.

> Könnte man statt F10-Speicherung und Schließen
> vielleicht auch F9 - nur schließen einbauen?
Ja

: Bearbeitet durch User
von Leo C. (rapid)


Lesenswert?

Das Setup befindet sich im Umbau.
-----------------------------------------------------------------------
Ich habe angefangen, das Setup umzubauen. Sieht zwar noch gleich  aus, 
funktioniert aber anders. Man muß es erst aktivieren, bevor man etwas 
einstellen kann. Hinein kommt man nun mit Ctrl-PrintScreen. Eigentlich 
sollte es Alt-PrintScreen sein, wie bei neueren DEC Terminals mit 
PC-Keyboard Layout. Aber bei unserem Keyboard-Treiber kommt bei 
Alt-PrintScreen nix. Raus kommt man z. Zt. mit nochmal Ctrl-PrintScreen, 
ESC oder F10. Nur bei F10 werden die Daten im EEPROM gespeichert.
-----------------------------------------------------------------------

von Marcel A. (dl1ekm)


Lesenswert?

Danke Leo, das war es - neuer Menü-Einstieg. Sehr schön gemacht!

TP und WS sehen nun auch viel besser aus ("farbige" Hinterlegung).
Sobald ich in WS aber einen Text lade, stürzt das VT100 aber wieder ab.

Auch ist zumindest bei mir kein "CRTL" möglich -> CRTL-K wird wie 
SHIFT-K interpretiert - es kommen Großbuchstaben. Damit kommt man weder 
aus TP noch was WS raus :-)

von Marcel A. (dl1ekm)


Lesenswert?

Joe G. schrieb:
> "CBUS0  Factory default configuration is TXLED#. See CBUS Signal
> Options, Table 3.99."
> Das war bei mir bisher auch immer so.
Komisch - na, vielleicht ein Produktionsfehler bei mir - so kam er 
jedenfalls aus der Reichelt-Tüte :-)
Falls also noch mal jemand das Problem haben sollte - damit gehts dann.

von Marcel A. (dl1ekm)


Lesenswert?

Vielleicht mache ich auch etwas grundsätzlich falsch (z.B. den richten 
Zeichensatz nicht laden), aber es gehen auch keine Umlaute oder wichtige 
Sonderzeichen wie {[]} ...?
Oben lese ich zwar, wie Zeichensätze mit ESC-Codes umgeschaltet werden 
können, aber da sehe ich nur US und DECT. Auch frage ich mich, wie ich 
ESC-Sequenzen außerhalb von Software an das System schicken soll?

von Leo C. (rapid)


Lesenswert?

> Auch ist zumindest bei mir kein "CRTL" möglich -> CRTL-K wird wie
> SHIFT-K interpretiert - es kommen Großbuchstaben. Damit kommt man weder

Kann es sein, daß dann nur noch Großbuchstaben kommen, egal ob CRTL oder 
SHIFT gedrückt ist, oder nicht? Den Fehler habe ich jedenfalls, wenn ich 
das Terminal als Linux-Console verwende. Wann der Fehler genau auftritt, 
habe ich noch nicht herausgefunden, aber vielleicht kannst Du ihn ja 
weiter eingrenzen.

von Leo C. (rapid)


Lesenswert?

> Oben lese ich zwar, wie Zeichensätze mit ESC-Codes umgeschaltet werden
> können, aber da sehe ich nur US und DECT.

Die Umlaute sind immer noch nicht im Zeichensatz. Vielleicht schnappst 
Du Dir mal einen Zeichensatzeditor...

> Auch frage ich mich, wie ich
> ESC-Sequenzen außerhalb von Software an das System schicken soll?

$ echo ... >/dev/tty...
> pip auxout:=con:

von Marcel A. (dl1ekm)


Lesenswert?

Nein, die CRTL-Taste wirkt wie die SHIFT Taste - lasse ich sie los, ist 
auch alles wieder klein.
ALTGR-Ö gibt mir derzeit ] aus.
Hm...
Ich lade noch mal die 1.6er und prüfe das nach.

...

So. mit der 1.6er gibt es auch keine Umlaute. Aber {[]} klappt (über 
ALTGR -7/8/9/0). Auch ALTGR-< gibt (links unten) gibt mir dann einen | 
aus.
In der 1.7.2 ist kommen keine {[]} und ALTGR-< gibt ~ aus.

Alles getestet mit V24 an der AVR Console

von Marcel A. (dl1ekm)


Lesenswert?

Leo C. schrieb:

>> Auch frage ich mich, wie ich
>> ESC-Sequenzen außerhalb von Software an das System schicken soll?
>
> $ echo ... >/dev/tty...
>> pip auxout:=con:
Ähm, klar, wenn ich statt des AVR/Z180 Stamps meine Linux-Kiste 
anschließen würde. Ich meine, wenn ich den VT100 am Z180/AVR habe, dann 
kann ich das ja nur z.B. im Rahmen eines TurboPascal-Programms 
(writeln...) an das Terminal senden, aber nicht wenn ich mich einfach 
auf der AVR Console befinde.

von Leo C. (rapid)


Lesenswert?

>>> pip auxout:=con:
> Ähm, klar, wenn ich statt des AVR/Z180 Stamps meine Linux-Kiste
> anschließen würde.

Also PIP ist ein CP/M-Kommando.
Du kannst auch einfach Steuerzeichen am CCP-Prompt eingeben und dann 
Enter drücken.

Im Debugger eine kleine Ausgabe-Schleife eintippen, geht schneller als 
ein TP-Programm.

Mit Debugger Steuerzeichen in Speicher schreiben und als Datei 
speichern. Anschließend mit TYPE oder PIP ausgeben.

von Marcel A. (dl1ekm)


Lesenswert?

Leo C. schrieb:
> Also PIP ist ein CP/M-Kommando.

Stimmt :-)

Hast du eine Idee, warum die {[]} nicht mehr kommen? Sind die im neuen 
Zeichensatz an eine andere Stelle gerutscht?
Oder sind die genau wie Umlaute in den beiden Schriftarten noch nicht 
eingebettet?
EDIT: Nach meinem Verständnis sind die Daten in der spin für diese 
Sonderzeichen drin (5B, 5D, 7B, 7D)

Die beiden Schriftarten liegen offenbar in der Datei fonts-lin.spin - 
wie habt ihr die erstellt?

Mit dem Malen von Umlauten ist es ja nicht allein getan, die müssen ja 
auch da stehen, wo sie von Programmen (German Character Set) 
üblicherweise erwartet werden, oder?

: Bearbeitet durch User
von Leo C. (rapid)


Lesenswert?

Marcel A. schrieb:
> So. mit der 1.6er gibt es auch keine Umlaute. Aber {[]} klappt (über
> ALTGR -7/8/9/0). Auch ALTGR-< gibt (links unten) gibt mir dann einen |
> aus.

Version 1.6 finde ich bei mir nicht.

Marcel A. schrieb:
> Die beiden Schriftarten liegen offenbar in der Datei fonts-lin.spin -
> wie habt ihr die erstellt?

Copy&Paste.
Wenn Du nach VGA_HiRes_Text.spin und vgacolour.spin, bzw. 
vgademo-0.0.4.zip
suchst, findest Du die Quellen.

Marcel A. schrieb:
> Mit dem Malen von Umlauten ist es ja nicht allein getan, die müssen ja
> auch da stehen, wo sie von Programmen (German Character Set)
> üblicherweise erwartet werden, oder?

Die kommen da hin wo Platz ist, bzw. geschaffen wird. Vom 
Terinalprogramm werden sie dann je nach Einstellung an die passende 
Position gemappt. Das wurde weiter oben ab ca. 22.9. diskutiert.

: Bearbeitet durch User
von Marcel A. (dl1ekm)


Lesenswert?

Leo C. schrieb:
> Marcel A. schrieb:
>> So. mit der 1.6er gibt es auch keine Umlaute. Aber {[]} klappt (über
>> ALTGR -7/8/9/0). Auch ALTGR-< gibt (links unten) gibt mir dann einen |
>> aus.
>
> Version 1.6 finde ich bei mir nicht.

Das ist die Version aus dem SVN unter Doku/VT100/source/V1_1

> Die kommen da hin wo Platz ist, bzw. geschaffen wird. Vom
> Terinalprogramm werden sie dann je nach Einstellung an die passende
> Position gemappt. Das wurde weiter oben ab ca. 22.9. diskutiert.

Ich weiß, habe ich bisher nur nicht verstanden :-)

von Marcel A. (dl1ekm)


Angehängte Dateien:

Lesenswert?

So, habe am Terminal mal etwas weitergemacht.
Ich nutze am BastelPC dazu TeraTerm.

Das mit den ESC-Sequenzen habe ich durchschaut - das klappt in TP als 
auch auf der CCP Console.
Nur ESC # 9 - da passiert nichts.

Bei der Farbe ist mir noch aufgefallen, dass die Einstellung für den 
Hintergrund in die 2. Zeile mitwandert.

Hier mal zwei Outputs von Joes und meine Testprogramm.
1
     writeln('Start der Darstellung');
2
3
     write(esc + '[34m');   {Text blau}
4
     writeln('Blauer Text');
5
6
     write(esc + '[47m');   {Hintergrund weiss}
7
     writeln('mit weissem Hintergrund');
8
9
     reset; {ESC [ m}
10
11
     writeln('wieder normal');
12
     writeln('genau');

: Bearbeitet durch User
von Leo C. (rapid)


Lesenswert?

Marcel A. schrieb:
> Das ist die Version aus dem SVN unter Doku/VT100/source/V1_1

Gibts nicht. Meinst Du vielleicht 'trunk/VT100/source/V1_1'?

Marcel A. schrieb:
> Nur ESC # 9 - da passiert nichts.

Gerade ausprobiert. Bei mir gehts.
Ansonsten habe ich gerade nicht viel Zeit für das Terminal. Die 
Tastaturprobleme schau ich mir aber auf jeden Fall demnächts an.

von Leo C. (rapid)


Angehängte Dateien:

Lesenswert?

Marcel A. schrieb:
> Bei der Farbe ist mir noch aufgefallen, dass die Einstellung für den
> Hintergrund in die 2. Zeile mitwandert.

Das macht z.B. XTerm auch, also das gehört so. :)
Beim Scrollen wird die neue leere Zeile mit dem aktuellen Hintergrund 
gefüllt.

von Marcel A. (dl1ekm)


Lesenswert?

Leo C. schrieb:
> Das macht z.B. XTerm auch, also das gehört so. :)

Scheinbar aber nicht immer so?

zum VT100:
Leider habe ich von SPIN-Programmierung so gar keine Ahnung und ich 
wollte als nächstes eigentlich tiefer in die Z80-Programmierung 
einsteigen. Meine Herausforderung für die Feiertage ist die 
BIOS-Anpassung des NDR-NKCs zur Unterstützung von 3 Disketten-Laufwerken 
(habe dort einen mit HxC2001-Firmware erweiterten Gotek-Floppy-Emulator 
drin).

Mein Hauptproblem ist es, dass ich mich immer wieder in vielen kleinen 
Baustellen verzettel (-> NDR, TRS-80, MFA, Apple, C128...). Nach der 
ganzen Löterei würde ich jetzt gerne wieder mehr SW machen.

von Marcel A. (dl1ekm)


Lesenswert?

Neue Erkenntnisse:

Am PC-Terminal:
- wenn der ESC-Reset vor einem Writeln kommt, dann ist die Ausgabe ok
- Die Umschaltung SO/SI klappt bei mir nur mit TeraTerm unter Windows. 
Weder Putty unter Windows/Linux noch minicom schalten hier irgendetwas 
um
- ESC # 8 geht (alles voller E), aber ESC # 9 macht nichts

Am VT100 (1.7.2):
- SO/SI zeigt keine Wirkung
- CRTL wirkt wie Shift
- Shift keine Funktion in TP (wohl aber im AVR Monitor)


Generell Z180/AVR: PageDown/Up, Insert etc. erzeugen bei mir neben dem 
ESC-Code immer ein Tilde-Zeichen ~
Dieses wird dann nach einem PageDown in den Quelltext geschrieben.

von Leo C. (rapid)


Lesenswert?

> Scheinbar aber nicht immer so?

Doch. Wenn Zeichen gelöscht werden (müssen), gibt es 3 Möglichkeiten, 
wie der Hintergrund gefüllt werden kann:
1. mit dem Defaultwert
2. mit der Hintergrundfarbe, die vorher an der entspechenden Stelle war
3. mit der aktuell gesetzten Hintergrundfarbe

Unser Propeller-Terminal, XTerm und die meisten anderen machen es nach 
3. Beim Scrollen z.B. geht 2. nicht, da ja von unten eine neue Zeile, 
die keine alte Hintergrundfarbe haben kann, ins Bild geschoben wird. Auf 
meinem Bildschirmfoto oben sind die beiden ersten Ausgaben ohne 
scrollen, die dritte mit.

von Leo C. (rapid)


Lesenswert?

Marcel A. schrieb:
> Am PC-Terminal:
> - wenn der ESC-Reset vor einem Writeln kommt, dann ist die Ausgabe ok

eben.

> - Die Umschaltung SO/SI klappt bei mir nur mit TeraTerm unter Windows.

Zwischen was wird denn da umgeschaltet?

> Weder Putty unter Windows/Linux noch minicom schalten hier irgendetwas
> um

Lies diesen Beitrag nochmal aufmerksam durch:
Beitrag "Re: VT100-Terminal (VGA+PS2)"

> - ESC # 8 geht (alles voller E), aber ESC # 9 macht nichts

ESC # 9 ist ja auch ein Hack, den es nur bei unserem Teminal gibt.

> Am VT100 (1.7.2):
> - SO/SI zeigt keine Wirkung

Wahrscheinlich das gleiche, wie bei Putty und co.

> - CRTL wirkt wie Shift
> - Shift keine Funktion in TP (wohl aber im AVR Monitor)

Ja, da sind offensichtlich schwere Fehler drin, die ich noch nicht 
gefunden habe.

> Generell Z180/AVR: PageDown/Up, Insert etc. erzeugen bei mir neben dem
> ESC-Code immer ein Tilde-Zeichen ~
> Dieses wird dann nach einem PageDown in den Quelltext geschrieben.

Die Tilde gehört mit zu der ESC-Sequenz und muß entsprechend ausgewertet 
werden.

von Marcel A. (dl1ekm)


Lesenswert?

Leo C. schrieb:

> ESC # 9 ist ja auch ein Hack, den es nur bei unserem Teminal gibt.
Erleuchtung :-) Da geht es natürlich.

> Die Tilde gehört mit zu der ESC-Sequenz und muß entsprechend ausgewertet
> werden.

Hm... Ok, damit kommt aber TP nicht klar.
z.B. ist PgDwn/PgUp als "ESC [ 5" (oder 6) bei TINST eingestellt. TINST 
akzeptiert aber "ESC [ 5 ~" nicht..."
"Damals" gab es solche Tasten ja auch noch nicht :-)
Somit funktionieren zwar Insert, Home, End, PageUp/Dn - aber werfen 
immer ein ~ Zeichen in den Quelltext.
Werde ich mir halt die CTRL-Codes angewöhnen müssen.

TeraTerm:
- hier reicht es, SO zu senden, dann werden statt Kleinbuchstaben schöne 
Rahmen-Symbole dargestellt - ideal für GUIs

Putty:
- hier passiert bei SO/SI und ESC ) 0 gar nichts - normale Zeichen

Betrieb Z180 an VT100-Stamp:

- Der Quelltext eines TP-Programms sieht sehr wüst aus - überall 
ESC-Sequenzen drin...
Ich bin mir recht sicher, dass ich TP für VT100 eingestellt habe, da es 
bei allen anderen Terminals (Win/Linux) gut aussieht.

- Senden von SO/SI und ESC ) 0 zeigt nun auch dort anstelle der 
Kleinbuchstaben Sonderzeichen an - "Skatzeichen", Geschlechtssymbole, 
Paragraphen usw.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Marcel A. schrieb:
> Somit funktionieren zwar Insert, Home, End, PageUp/Dn - aber werfen
> immer ein ~ Zeichen in den Quelltext.

Beschreibst du bitte noch mal den Fehler genau.
Die Tasten PgUp, PgDn usw. der PS2-Tastatur am Propeller VT100 sollten 
eigentlich überhaupt keine ESC Sequenzen ausgeben.  Hier kommt nur der 
Code des Tastaturtreibers zurück. (siehe keyb-DE.spin) Natürlich könnte 
man entsprechende ESC-Sequenzen noch programmieren. Oder habe ich dich 
gänzlich falsch verstanden?

von Marcel A. (dl1ekm)


Lesenswert?

Hallo Joe,

stimmt. das gehört eigentlich in den Z180-Thread. Das VT100 Terminal 
macht mit den Sondertasten natürlich (noch) nichts.
Den Effekt habe ich daher nur im Terminal am PC (Windows/Linux, 
minicom/putty/teraterm).
PageDn/Up führt zu "ESC [ 5 ~" und "ESC [ 6 ~"
TINST nimmt aber nur ESC[5 bzw. ESC[6 an (ohne ~). Bei PageDn springt es 
direkt (ohne Return) in die nächste Zeile des Konfig-Menüs (zeigt aber ~ 
an). Das "~" wird aber nicht abgespeichert.

Ich meine, das wäre bei den alten AVRCPM-Varianten nicht so gewesen...

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Marcel A. schrieb:
> Ich meine, das wäre bei den alten AVRCPM-Varianten nicht so gewesen...

Hab es gerade mal ausprobiert. Es war schon immer so. Da ich die 
CTRL-Codes nutze, ist mir das nie aufgefallen. In unserem VT100-Terminal 
könnte man es jedoch ohne Tilde einbauen.

von Leo C. (rapid)


Lesenswert?

Marcel A. schrieb:
> PageDn/Up führt zu "ESC [ 5 ~" und "ESC [ 6 ~"
> TINST nimmt aber nur ESC[5 bzw. ESC[6 an (ohne ~). Bei PageDn springt es
> direkt (ohne Return) in die nächste Zeile des Konfig-Menüs (zeigt aber ~
> an). Das "~" wird aber nicht abgespeichert.

Das habe ich mal angeschaut. Laut TINST-Doku sollten die Sequenzen 4 
Zeichen lang sein dürfen, würde also gerade so passen. Es werden aber 
nur 3 Zeichen gespeichert.

Die Sequenzen für die Tasten werden mit einem Längenbyte unmittelbar 
nacheinander im Programm (TURBO.COM) gespeichert:
1
4280   F5 7B 1A 01  0D 03 1B 5B  44 01 08 03  1B 5B 43 01  u{.....[D....[C.
2
4290   FF 01 FF 03  1B 5B 41 03  1B 5B 42 01  FF 01 FF 03  .....[A..[B.....
3
42A0   1B 5B 35 03  1B 5B 36 03  1B 4F 48 03  1B 4F 46 01  .[5..[6..OH..OF.
4
42B0   FF 01 FF 01  FF 01 FF 01  FF 01 FF 01  FF 01 FF 01  ................
5
42C0   FF 01 FF 01  FF 01 FF 01  FF 01 FF 01  FF 01 FF 01  ................
6
42D0   FF 01 FF 01  FF 01 FF 01  FF 01 FF 01  FF 01 FF 01  ................
7
42E0   FF 01 FF 01  FF 01 FF 01  FF 01 FF 01  FF 01 FF 00  ................
8
42F0   FF 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................

Für PageUp und PageDown habe ich die Tilde mal eingefügt und die 
Sequenzlänge jeweils auf 4 geändert.
1
4290   FF 01 FF 03  1B 5B 41 03  1B 5B 42 01  FF 01 FF 04  .....[A..[B.....
2
42A0   1B 5B 35 7E  04 1B 5B 36  7E 03 1B 4F  48 03 1B 4F  .[5~..[6~..OH..O
3
42B0   46 01 FF 01  FF 01 FF 01  FF 01 FF 01  FF 01 FF 01  F...............
4
42C0   FF 01 FF 01  FF 01 FF 01  FF 01 FF 01  FF 01 FF 01  ................
5
42D0   FF 01 FF 01  FF 01 FF 01  FF 01 FF 01  FF 01 FF 01  ................
6
42E0   FF 01 FF 01  FF 01 FF 01  FF 01 FF 01  FF 01 FF 01  ................
7
42F0   FF 00 FF 00  00 00 00 00  00 00 00 00  00 00 00 00  ................
8
4300   00 00 00 00  00 00 00 00  00 00 00 00  00 00 00 00  ................

Prinzipiell scheints zu funktionieren, aber sobald man eine der beiden 
Tasten drückt, wird der Anfang der Statuszeile gelöscht. Nicht tragisch, 
aber merkwürdig.

von Marcel A. (dl1ekm)


Angehängte Dateien:

Lesenswert?

Ich habe noch ein Problem mit der Firmware, zumindest in der "V1.7.2 
test serial 3" (andere habe ich nicht getestet): Bei hohen Datenmengen 
werden Zeichen verschluckt.
Das ist ähnlich wie bei meinem VT100 HP-Terminal, das habe ich später 
mit diversen Parametern in den Griff bekommen (Software XON / XOFF 
glaube ich).

Anbei einige Bilder. Beim "Boot" ist noch alles ok, aber bei Help oder 
bei längeren Ausgaben unter CPM kommt es ins schleudern.
Als wenn da ein Puffer überläuft.

Habe die AVR CON über MAX... mit RX/TX/GND (3-adrig) an die VT100 Stamp 
angeschlossen... Am PC/Linux Terminal alles ok.

: Bearbeitet durch User
von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Das sieht mir tatsächlich nach einem Pufferüberlauf aus. Im Bild 
P1011427.JPG kommen 16 Zeilen a 16 Zeichen = 256 Zeichen korrekt, dann 
kommt der Fehler. Dieser Fehler trat in einer frühen Version auch auf 
und ich hatte ihn durch Vergrößerung des Puffers beseitigt. In der 
jetzigen Version ist der Puffer wieder zugunsten der Flusskontrolle 
geschrumpft. Die Baudrate reduzieren sollte erst mal Abhilfe schaffen. 
Da ich gerade kein Spincompiler zur Hand habe, kann ich nicht 
nachschauen wie viel Speicher noch für eine mögliche Puffererweiterung 
zur Verfügung steht.

von Leo C. (rapid)


Lesenswert?

Joe G. schrieb:
> Dieser Fehler trat in einer frühen Version auch auf
> und ich hatte ihn durch Vergrößerung des Puffers beseitigt.

Beseitigen läßt er sich dadurch nicht, nur verschieben.

> In der jetzigen Version ist der Puffer wieder zugunsten der
> Flusskontrolle geschrumpft.

So könnte man es sagen. Ich habe vor ein paar Wochen angefangen, RTS/CTS 
und XON/XOFF Flußsteuerung in das Terminal und ins Z180-Stamp-Bios 
einzubauen. Leider komme ich z.Zt. kaum von der Stelle.

> Die Baudrate reduzieren sollte erst mal Abhilfe schaffen.

Füllzeichen einfügen geht auch [1]. ;-)

> Da ich gerade kein Spincompiler zur Hand habe, kann ich nicht
> nachschauen wie viel Speicher noch für eine mögliche Puffererweiterung
> zur Verfügung steht.

Es sind ca. 12 KByte frei. Sende- und Empfangspuffer lassen sich 
inzwischen getrennt einstellen (am Anfang von 'FullDuplexSerial.spin'), 
und die Größe muß auch keine 2er-Potenz mehr sein.


[1] http://vt100.net/docs/vt102-ug/chapter6.html#S6.2.7.2
    bzw. http://vt100.net/docs/vt102-ug/table6-12.html

von Marcel A. (dl1ekm)


Lesenswert?

Ich hab mich mal ran getraut...

Der Tipp mit dem Buffer hat gut geklappt. Damit sieht es "erst" mal gut 
aus:
1
CON
2
' Buffer sizes
3
  RX_SIZE = 2000                         'Receive buffer size
4
  TX_SIZE = 160                          'Transmit buffer size

Dann habe ich mal geschaut bzgl. des CTRL/SHIFT Problems und habe den 
Code aus dem Verzeichnis 1.1 (meldet sich mit 1.6) mit dem "aktuellen" 
verglichen.
Folgender Tausch in den Zeilen 204ff hat etwas gebraucht:
1
    if ch > 0
2
      'if ch & $FFC0 == $0240                          'CRTL code
3
      'ch &= !$0020                                  'redefine as CTRL+char
4
5
      if ch > 608 and ch < 635                 'CRTL code
6
         ch:=ch-608                            'redefine as CTRL+char

Was auch immer das genau macht :-)

Nun funktionieren die CTRL-Codes wieder.

Und kurios: Turbo Pascal und Wordstar laufen nun "etwas". Zumindest die 
Startmenüs kommen, aber irgendwann steigt, unreproduzierbar an welcher 
Stelle, der VT100 aus.
=> Offenbar kommt er mit einigen Codes nicht klar?

Dafür hatte ich 1 x den Effekt, dass SHIFT nicht mehr ging. Konnte ich 
aber nicht mehr reproduzieren.

Und mir ist aufgefallen, dass bei WS der Bildschirm ziemlich zappelt 
(wie mit einem Handy neben einem Röhrenmonitor :-)). Es "zuckt" in der 
Darstellung. Sonst bei keinem anderen Programm.

Ich hoffe, das hilft ein wenig.

P.S.: Gerade lief WS recht stabil...

Gruß
Marcel

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Marcel A. schrieb:
> Und mir ist aufgefallen, dass bei WS der Bildschirm ziemlich zappelt
> P.S.: Gerade lief WS recht stabil...

Die Leiterführung zur VGA-Buchse ist, vorsichtig ausgedrückt, sehr 
unglücklich gewählt (tatsächlich Mist :-(. Lege mal den Quarz mit dem 
Gehäuse auf Masse (kleinen Draht anlöten).

Bei deinen "Abstürzen" ist mir die Kausalität nicht ganz klar. TP und WS 
senden doch zunächst nur an das VT100. Dabei sollten beide Programme 
doch nicht abstürzen. Fehlerhaft kann nur das VT100 reagieren, wobei 
auch dabei nichts an WS oder TP gesendet werden sollte.

von Marcel A. (dl1ekm)


Lesenswert?

Das mit den Quarz erden probiere ich aus - wobei mir das nur bei WS 
aufgefallen ist - sonst alles bestens.

Und richtig: Das VT100 stürzt ab, nicht WS/CPM. Der Bildschirm wird 
dunkel und der Monitor meldet "no signal".

: Bearbeitet durch User
von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Marcel A. schrieb:
> Folgender Tausch in den Zeilen 204ff hat etwas gebraucht:

Hier ist tatsächlich ein Fehler. Ersetze mal bitte die Zeile
ch &= !$0020 durch
ch := ch-$260

Dann sollten die CTRL-Codes wieder gehen.

    ch := key.key
    if ch > 0
      if ch & $FFC0 == $0240                  'CRTL code
        ch := ch-$260                         'redefine as CTRL+char

von Marcel A. (dl1ekm)


Lesenswert?

Prima, das hat geholfen!

Und auch des Erden des Quarzes hat etwas gebracht: Kein Zucken mehr und 
WS/TP laufen bisher stabil.

DANKE!

Jetzt müsste ich mal schauen, wie das mit den Umlauten geht. Die waren 
ja mal drin, sind aber aktuell ja nicht drin (es kommt v, d und |).

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Marcel A. schrieb:
> Die waren
> ja mal drin, sind aber aktuell ja nicht drin (es kommt v, d und |).

Das VT100 kann derzeit keine Umlaute anzeigen. Sie sind ja nicht im 
Zeichensatz enthalten [1]. Oder meinst du das Senden von Umlauten?

[1] Beitrag "Re: VT100-Terminal (VGA+PS2)"

Nachtrag:
Gesendet werden sie korrekt, habe ich gerade getestet.

: Bearbeitet durch User
von Marcel A. (dl1ekm)


Lesenswert?

Ok, das mit den Umlauten wurde ja schon intensiv diskutiert. Ich traue 
mich da aber (noch) nicht wirklich ran.

Inzwischen habe ich die für die TP-Entwicklung wichtigen Tasten {[]} 
auch wiedergefunden.
Sie kommen bei ALTGR-I,O.K,L    - ist das so gewollt oder an die falsche 
Stelle gerutscht?

Denn laut Keyb-de.spin sind die eigentlich richtig:
1
                        '$38  ---   ---    m     j     u     7     8    ---
2
                        '    ===== ===== ===== ===== ===== ===== ===== =====
3
                        word $0000,$0000, "µ", $0000,$0000, "{" , "[" ,Sleep
4
5
                        '
6
                        '$40  ---    ,     k     i     o     0     9    ---
7
                        '    ===== ===== ===== ===== ===== ===== ===== =====
8
                        word $0000,$0000,$0000,$0000,$0000, "}",  "]", $0000

EDIT: Offenbar haben sich (wie man sieht) da einige Sonderzeichen 
eingeschlichen. Meine Parallax-Umgebung hat auch immer angemeckert 
irgendwas mit UniCode beim speichern - vermutlich sind die Windows - und 
Linux-Umgebungen nicht ganz Kompatibel im Dateiformat :-(

Ich habe einfach die Tabelle table_alt_r aus der 1.6er drüberkopiert - 
UND NUN GEHEN DIE KLAMMERN!

: Bearbeitet durch User
von Marcel A. (dl1ekm)


Lesenswert?

Ich habe mich nun mal ziemlich durch das Thema Zeichensätze und Fonts 
durchgewühlt - der Code ist ja 1A dokumentiert...

Eines verstehe ich noch nicht:
Wir nutzen ja fonts-lin.spin - dort sind 2 Fonts a 127 Zeichen 
definiert. Ich gehe davon aus, dass das jeweils die gleichen Zeichen 
sind, aber unterschiedlich gemalt (Umschaltbar im Setup).

Dann haben wir noch 3 Zeichensätze (US, UK, Special) - wo sind die 
definiert und vor allem - wo sind z.B. die Zeichen ("Malen") für den 
Special Charakter definiert?

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Marcel A. schrieb:
> vermutlich sind die Windows - und
> Linux-Umgebungen nicht ganz Kompatibel im Dateiformat

Ja, so ist es leider [1].

> Wir nutzen ja fonts-lin.spin - dort sind 2 Fonts a 127 Zeichen
> definiert.

Genau dort stehen die Fonts. Es gibt auch nur diese beiden Fonts mit dem 
Format 8x16 Pixel, a 256 mögliche Zeichen. Um das Unterstreichen zu 
ermöglichen ist jeder Zeichensatz eigentlich doppelt aufgebaut - einmal 
ohne Unterstrich und einmal mit Unterstrich. Dadurch fehlt der Platz wie 
z.b. bei der Codepage 850. Um dennoch die Umlaute einzubauen hatten wir 
Platz gesucht [2]. Hier könnten sie also rein.

Die beiden Zeichensätze unterscheiden sich übrigens durch die 
Pixelbreite. Bei Font 1 gibt es kein Leerzeichen zwischen einigen 
Zeichen. Das ist vor allem beo M oder O auffällig.

Die Grafiksymbole (Zeichnen von Rahmen) gibt es nur im Font 0. Eine 
bessere Lösung ist uns noch nicht eingefallen.


[1] Beitrag "Re: VT100-Terminal (VGA+PS2)"
[2] Beitrag "Re: VT100-Terminal (VGA+PS2)"

von Leo C. (rapid)


Lesenswert?

Joe G. schrieb:
> Genau dort stehen die Fonts. Es gibt auch nur diese beiden Fonts mit dem
> Format 8x16 Pixel, a 256 mögliche Zeichen. Um das Unterstreichen zu
> ermöglichen ist jeder Zeichensatz eigentlich doppelt aufgebaut - einmal
> ohne Unterstrich und einmal mit Unterstrich.

Das war mal so. Die Fonts haben jetzt tatsächlich nur noch 127 Zeichen. 
Die zweite Hälfte ist auskommentiert. Trotzdem wird das 8te Bit als 
Attribut für Unterstreichen verwendet.

Marcel A. schrieb:
> Dann haben wir noch 3 Zeichensätze (US, UK, Special) - wo sind die
> definiert

In der Font-Datei sind die Pixelmuster (Glyphen) für 128 Zeichen 
abgelegt. Welche Glyphe für welche Zeichensatzposition genomen wird, ist 
aber nicht starr (1:1), sondern hängt vom aktuell ausgewählten 
Zeichensatz ab [1]. Bisher gibt es 3 Mapping-Tabellen für die 
Zeichensätze US, UK und "Special characters and line drawing". Im 
Hauptprogramm unter CS_US, CS_UK und CS_DEC zu finden.

> und vor allem - wo sind z.B. die Zeichen ("Malen") für den
> Special Charakter definiert?

Sende "ESC # 9" ans Terminal, und Du wirst es sehen.


[1] http://vt100.net/docs/vt102-ug/chapter5.html#S5.5.2.16

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Joe G. schrieb:
> ch &= !$0020 durch
> ch := ch-$260
> Dann sollten die CTRL-Codes wieder gehen.

Gestern war ich zu müde zum Nachdenken, deshalb der Schnellschuss mit 
der Subtraktion. So hier wird es auch Leo C. wieder gefallen ;-)

ch := key.key
 if ch > 0
   if ch & $FFC0 == $0240                          'CRTL code
     ch &= $001F                                   'redefine as 
CTRL+char

: Bearbeitet durch User
von Marcel A. (dl1ekm)


Lesenswert?

Fein, ich bin nur verwirrt, dass 3 Charakter Sets auf 2 Fonts gemappt 
sind.
US und UK unterscheiden sich ja kaum.
Wenn ich also sowohl schöne Schrift (Font 1) haben will als als auch 
Grafiksymbole (aus Font 0) gleichzeitig, geht das überhaupt auf einer 
Seite?
Wie kann ich denn überhaupt Font 0 und 1 per SW umschalten, ich dachte 
das wäre eine globale Einstellung mit VT100 Setup Menü. Oder ist das 
diese SO und SI?

Derzeit sind die Umlaute ja auf Stellen wir FC und F6 gemappt, diese 
Bereiche sind ja auskommentiert. Also dann remapping auf die besagten 
Zeichen im Bereich < 127...

Ich werde da mal ein bisschen fummeln.

von Leo C. (rapid)


Lesenswert?

Marcel A. schrieb:
> Fein, ich bin nur verwirrt, dass 3 Charakter Sets auf 2 Fonts gemappt
> sind.

Nein!
Die beiden Fonts haben mit dem Character-Set Mapping nichts zu tun. 
Schau Dir Die Artikel an, auf die Joe verwiesen hat oder den Link aus 
meinem letzten Posting.

> Wie kann ich denn überhaupt Font 0 und 1 per SW umschalten

Such mal in der Datei 'control-codes.md' nach font.


> Also dann remapping auf die besagten Zeichen im Bereich < 127...

Das war die Idee.
Beitrag "Re: VT100-Terminal (VGA+PS2)"

von Leo C. (rapid)


Lesenswert?

Joe G. schrieb:
> Gestern war ich zu müde zum Nachdenken, deshalb der Schnellschuss mit
> der Subtraktion. So hier wird es auch Leo C. wieder gefallen ;-)
>
> ch := key.key
>  if ch > 0
>    if ch & $FFC0 == $0240                          'CRTL code
>      ch &= $001F                                   'redefine as

So wars wahrscheinlich gedacht. Die Zeile
1
      ch &= !$0020                                  'redefine as CTRL+char
läßt sich nur durch Blackout erklären. Alkohol wars jedenfalls nicht. 
Inzwischen bin ich nicht mehr sicher, ob das so überhaupt richtig ist. 
Warum wurde im ursprünglichen Code auf 608 < ch < 635
(0x260 < ch < 0x27B) getestet, statt auf 0x260 <= ch <= 0x27F ?

Ok, ^@ braucht kein Mensch und für {, |, }, und ~ gibt es auch auf der 
US-Tastatur keine Tasten. Trotzdem leuchtet mir nicht ein, warum man die 
entsprechenden Control-Codes ausfiltern sollte.
Aber der ganze Keyboard-Treiber ist für mich noch eine weiße Landkarte.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Leo C. schrieb:
> Warum wurde im ursprünglichen Code auf 608 < ch < 635
> (0x260 < ch < 0x27B) getestet, statt auf 0x260 <= ch <= 0x27F ?

Einfach der Bereich von CTRL-A bis CTRL-Z. Mann könnte natürlich auch 
den ganzen Bereich durchlassen.

von Marcel A. (dl1ekm)


Lesenswert?

Ich habe es geschafft, das Brett vor meinem Kopf zu durchsägen. 
Manoman...
Die 127 Glyphen sind der maximale darstellbare Zeichenvorat und die 
Character Sets sind ein Mapping darauf...
Somit ist klar, wie die Umlaute einzubauen sind. Für Font 0 hattet ihr 
ja euch schon auf die Stellen geeinigt. Ist auch wegen der Grafiksymbole 
der bessere Zeichensatz, obwohl ich Font 1 deutschlich geschmeidiger 
finde.

Mal sehen, mangels einem richtigen Editor dafür werde ich mir entweder 
was in Excel basteln oder was programmieren. Man kann AUO ... dann ja 
recht einfach anpassen.
Der Sonntag ist gerettet :-)

von Marcel A. (dl1ekm)


Lesenswert?

Es klappt...

von Marcel A. (dl1ekm)


Angehängte Dateien:

Lesenswert?

So, ich habe die Zeit genutzt und mit Excel und Papier den Zeichensatz 
erweitert. Siehe Bilder.

Dazu musste ich erst einmal analysieren, wie in der fonts.spin die Daten 
aufbereitet sind:
- jede Zeile enthält Zeichen - soweit klar
- Für jedes Zeichen gibt es pro Zeile 16 Werte 0..FF (Zeilen), welche 
die 8 Bit Breite beschreiben.
- ACHTUNG 1: Die Daten sind spiegelverkehrt (Bits links erscheinen beim 
Buchstaben rechts)
- ACHTUNG 2: Die Reihenfolge ist NICHT linear:
  Block 1:
    Zeile 4
    Zeile 3
    Zeile 2
    Zeile 1
  Block 2:
    Zeile 8
    Zeile 7
    Zeile 6
    Zeile 5
  usw...


Folgende Belegungen wurden nun vorgenommen. Ich habe alles mit Kommentar 
"Marcel" versehen, so dass man die Anpassungen schnell findet und wieder 
in ein SVN etc. einpflegen kann:
1
ASCII Code
2
DEC Special                   Pos in
3
DEC      HEX      Zeichen     Zeichensatz
4
98       62       Ä           03  
5
99       63       Ö           04 
6
100      64       Ü           05
7
191      65       ä           06  
8
104      68       ö           09
9
105      69       ü           0A
10
                  ß           02

Im Moment scheitere ich aber am Matching. Einfach in der keybd-spin das 
Scancode-Mapping (z.B. für 52 - "ä") auf 03, 04 etc. zu setzen reicht 
nicht. Offenbar wird der Wert im Vorfeld mehrfach konvertiert. Ich habe 
es geschafft, dass verschiedene Zeichen angezeigt werden, aber die 
Umlaute habe ich nicht "getroffen", egal was für "Offsets" ich 
eingetragen habe - es lag immer um vielfache von 16 daneben in der der 
fonts-tabelle.
Aber Anzeige allein reicht ja eh nicht aus. Letztlich müssen diese 
Buchstaben ja auch vom Zielsystem verarbeitet werden können - und ich 
denke, da klemmt es noch. Als was werden dann die Umlaute zum CPM-System 
geschickt und so weiter.
Habt ihr eine Tipp sonst wühle ich mal weiter :-)

P.S.: Zwischendurch hatte ich immer wieder das Problem, dass im 
TP-Editor manchmal ein einigen Zeile die SHIFT-Funktion nicht geht, in 
anderen Zeilen schon... sehr kurios. Bisher habe ich das keine 
Reproduzierbarkeit gefunden.

Gruß
Marcel

: Bearbeitet durch User
von Joe G. (feinmechaniker) Benutzerseite


Angehängte Dateien:

Lesenswert?

Du warst schneller mit deinem Text, ich hatte gerade den Aufbau des 
Zeichensatzes beschrieben. Hier als Anhang.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Sehr gut!

beim Mapping hast du jedoch noch einen Denkfehler ;-)
Der Tastaturtreiber arbeitet schon korrekt mit den Umlauten, hier mußt 
du nichts ändern. Die eigenen Tastatureingaben werden auch nicht an das 
Terminal gesendet, sondern nur die Zeichen die von der V24 extern 
kommen. Genau diese Zeichen müssen über das Mapping auf den korrekten 
Zeichensatz gelegt werden. Das Mapping ist übder die 3 Tabellen, im 
Hauptprogramm unter CS_US, CS_UK und CS_DEC zu finden, realisiert [1].

[1] Beitrag "Re: VT100-Terminal (VGA+PS2)"

von Leo C. (rapid)


Lesenswert?

Marcel A. schrieb:
> So, ich habe die Zeit genutzt und mit Excel und Papier den Zeichensatz
> erweitert. Siehe Bilder.

Super.

> Folgende Belegungen wurden nun vorgenommen. Ich habe alles mit Kommentar
> "Marcel" versehen, so dass man die Anpassungen schnell findet und wieder
> in ein SVN etc. einpflegen kann:

Das kannt Du gerne auch selbst einchecken.

> Im Moment scheitere ich aber am Matching. Einfach in der keybd-spin das
> Scancode-Mapping (z.B. für 52 - "ä") auf 03, 04 etc. zu setzen reicht
> nicht.

Terminal-Input und Terminal-Output, also Bildschirm und Tastatur haben 
nichts miteinander zu tun. Deshalb kommt die Datei "keybd-spin" 
(wahrscheinlich meinst Du keyb-DE.spin) hier überhaupt nicht ins Spiel.

> Aber Anzeige allein reicht ja eh nicht aus. Letztlich müssen diese
> Buchstaben ja auch vom Zielsystem verarbeitet werden können - und ich
> denke, da klemmt es noch. Als was werden dann die Umlaute zum CPM-System
> geschickt und so weiter.

Genau.

> Habt ihr eine Tipp sonst wühle ich mal weiter :-)

Ein "National Replacement Character Set" (German) einbauen, siehe z.B.:
http://vt100.net/docs/vt220-rm/chapter2.html#S2.4.3
http://vt100.net/docs/vt220-rm/chapter4.html#S4.4.1
und hier:
Beitrag "Re: VT100-Terminal (VGA+PS2)"

Dann muß man aber auf "\|{[]}~" verzichten, bzw. muß zwischen den beiden 
Char-Sets hin und her schalten, worauf CP/M-Programme ja auch nicht 
unbedingt eingerichtet sind.

Eine andere, zusätzliche Möglichkeit, wäre ANSI, bzw DEC Multinational 
Character Set (teilweise) zu realisieren. Das wäre dann ein 8-Bit 
Zeichensatz, bei dem in unserem Fall die obere Hälfte sehr schwach 
besetzt wäre, da wir ja weiterhin nur 128 Zeichen insgesamt haben. Man 
hätte diese 128 Zeichen dann aber alle gleichzeitig im Zugriff.

> P.S.: Zwischendurch hatte ich immer wieder das Problem, dass im
> TP-Editor manchmal ein einigen Zeile die SHIFT-Funktion nicht geht, in
> anderen Zeilen schon... sehr kurios. Bisher habe ich das keine
> Reproduzierbarkeit gefunden.

Das Problem habe ich auch.

von Marcel A. (dl1ekm)


Lesenswert?

Joe G. schrieb:
> beim Mapping hast du jedoch noch einen Denkfehler ;-)

Das war mir klar, nur nicht, welcher :-) Na, jedenfalls danke für den 
Hinweis. Ich schau heute Abend mal weiter.

>Das Problem habe ich auch.
Stimmt, das hattest du ja schon mal in ähnlicher Form erwähnt. Schaun 
wir mal.

>Das kannt Du gerne auch selbst einchecken.
Puh, damit habe ich noch nie gearbeitet. In meiner bisherigen 
Programmierer-"Karriere" kam ich immer mit Copy/Paste in Verzeichnissen 
aus...
Brauche ich noch irgendwelche Berechtigungen?

von Leo C. (rapid)


Lesenswert?

> Brauche ich noch irgendwelche Berechtigungen?

Nein. Du brauchst nur einen SVN-Clienten[1] für dein OS und das 
SVN-Password. Letzteres findest Du in Deinen Benutzereinstellungen.
Hinweise gibts hier: https://www.mikrocontroller.net/articles/Hilfe:SVN

Schnellanleitung:

1. Projekt in ein genehmes Unterverzeichnis auschecken.
   Wenn Du Platz genug auf Deiner Festplatte hast, kannst Du den
   gesamten Verzeichnisbaum auschecken. Die Repository-URL wäre dann:
   svn://mikrocontroller.net/avr-cp-m
   Ansonsten nur den interressierenden Teil. z.B:
   svn://mikrocontroller.net/avr-cp-m/trunk/VT100/source/work

2. Dateien editieren, oder Deine geänderten Dateien drüber kopieren.

3. Vor dem Einchecken darauf achten, daß die geänderten oder neuen
   Dateien im utf-8 Format sind. BST hat z.B. einen Schalter in den
   IDE-Preferences: "Save as UTF8".

4. Einchecken (Checkin)
   Dabei bitte unbedingt einen Grund für die Änderungen angeben
   (Log Message). Muß kein Roman sein, aber wenigstens ein paar
   Stichworte. Die Dateien, die geändert wurden, muß man in der
   Log-Message nicht angeben, da SVN darüber ja Buch führt.


[1] z.B.Tortoise SVN (Windows) oder SVN Workbench (Linux)

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Leo C. schrieb:
> Eine andere, zusätzliche Möglichkeit, wäre ANSI, bzw DEC Multinational
> Character Set (teilweise) zu realisieren.

Diese Lösung halte ich für geeigneter als immer umzuschalten. Font 0 ist 
ja schon auf dem besten Wege dahin :-)

von Marcel A. (dl1ekm)


Lesenswert?

Joe G. schrieb:
> Leo C. schrieb:
>> Eine andere, zusätzliche Möglichkeit, wäre ANSI, bzw DEC Multinational
>> Character Set (teilweise) zu realisieren.
>
> Diese Lösung halte ich für geeigneter als immer umzuschalten. Font 0 ist
> ja schon auf dem besten Wege dahin :-)

Ui, da lasse ich mal besser die Profis ran :-)
Ich scheitere schon daran, dass ich meine Änderungen nicht ins SVN 
bekomme (angeblich gibt's meinen User da nicht).

@Joe: Ich würde gerne mein TP von 25 auf 30 Zeichen umstellen. Nun fragt 
mich TINST, welchen "Screen" ich nehmen/ändern möchte (VT100 wird da ja 
nicht angeboten). Hast du hier ANSI genommen oder "31-other" und für 
VT100 alles zu Fuß eingestellt? Ich meine, bei 31  MUSS man alles neu 
eingeben oder werden mit "Enter" die aktuellen Einstellungen behalten? 
Ich will mir das nicht kaputt machen...

EDIT: MIST. Habe es gerade versucht (mit ENTER - nun ist es 
zerschossen). Habe nun ANSI genommen (war das auch vorher ...?) und auf 
30 Zeilen geändert - scheint gut zu gehen.

: Bearbeitet durch User
von Leo C. (rapid)


Lesenswert?

Marcel A. schrieb:
> Ich scheitere schon daran, dass ich meine Änderungen nicht ins SVN
> bekomme (angeblich gibt's meinen User da nicht).

Die Meldung kommt auch, wenn das Passwort nicht zum User paßt. Ich habe 
jetzt einiges ausprobiert. Mit dem Passwort, daß hier auf der 
Benutzerseite angezeigt wird, gehts nicht. Mit einem früher mal 
gespeicherten Passwort gehts.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Marcel A. schrieb:
> Ich scheitere schon daran, dass ich meine Änderungen nicht ins SVN
> bekomme (angeblich gibt's meinen User da nicht).

Du hattest keine Schreibrechte, jetzt sollte es gehen.

von Marcel A. (dl1ekm)


Angehängte Dateien:

Lesenswert?

Ich habe mir jetzt mal einen quick&dirty fonteditor (allerdings in .NET) 
gebaut, der direkt Codezeilen erzeugt bzw. einliest
Wenn ich das ganz noch ein wenig mit Fehlerbehandlung versehen habe und 
vielleicht sogar 127 Zeichen gleichzeitig verarbeiten kann, stelle ich 
das EXE hier mal ein die Tage.

Noch eine Frage: Ich finde zwar immer noch Font1 besser als Font0, aber 
wenn Font0 sich zum Standard entwickelt, können wir dann nicht den Platz 
von Font1 für weitere Zeichen etc. nutzen?

: Bearbeitet durch User
von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Das sieht ja recht gut aus :-)
Doch ich glaube, dass der Schwerpunkt besser auf dem Konverter 
Spin_to_Font und Font_to_Spin liegen sollte. Der Font sollte dann in 
einem der üblichen Formate (z.B. .bdf oder .fnt) vorliegen. Dazu gibt es 
dann genug Fonteditoren wie z.B. [1,2].

[1] http://hukka.ncn.fi/?fony
[2] http://fontforge.github.io/en-US/downloads/windows/

von Leo C. (rapid)


Lesenswert?

Marcel A. schrieb:
> Ich habe mir jetzt mal einen quick&dirty fonteditor (allerdings in .NET)
> gebaut, der direkt Codezeilen erzeugt bzw. einliest

Sowas gibts schon, z.B:
http://www.rayslogic.com/Software/RaysFontEditor/RaysFontEditor.htm
Neuere Version gibts im Forum ganz unten auf Der Seite:
http://forums.parallax.com/discussion/141644/font-editor-preview-5/p3

> Noch eine Frage: Ich finde zwar immer noch Font1 besser als Font0, aber
> wenn Font0 sich zum Standard entwickelt, können wir dann nicht den Platz
> von Font1 für weitere Zeichen etc. nutzen?

Nein.

Joe G. schrieb:
> Doch ich glaube, dass der Schwerpunkt besser auf dem Konverter
> Spin_to_Font und Font_to_Spin liegen sollte. Der Font sollte dann in
> einem der üblichen Formate (z.B. .bdf oder .fnt) vorliegen. Dazu gibt es
> dann genug Fonteditoren wie z.B. [1,2].

Sehe ich auch so. Wir können dann auch ganz einfach bestehende Fonts 
einbinden. z.B. Terminus: http://terminus-font.sourceforge.net/

von Marcel A. (dl1ekm)


Lesenswert?

Leo C. schrieb:
> Neuere Version gibts im Forum ganz unten auf Der Seite:
> http://forums.parallax.com/discussion/141644/font-editor-preview-5/p3

Mist :-) Den Link hatte ich mir die Tage schon mal angesehen, dann aber 
im Eifer des Gefechts vergessen und selber angefangen.

Export scheint das richtige Format zu unterstützen, beim Import ist er 
gerade abgestürzt - wahrscheinlich war da noch zu viel "Müll" im 
Textfile.

von Leo C. (rapid)


Lesenswert?

Marcels Umlaute jetzt können jetzt als deutsches National Replacement 
Character Set (NRC set) ausgewählt werden.
1
    ESC ( K           SCS     Select Character Set DE  --> G0
2
    ESC ) K           SCS     Select Character Set DE  --> G1

Die Platzierung im Zeichensatz erfolgt nach dieser Tabelle:
http://vt100.net/docs/vt220-rm/table2-10.html

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Das ja wirklich gewöhnungsbedürftig ;-) macht aber was es soll.

von Leo C. (rapid)


Lesenswert?

Joe G. schrieb:
>> Eine andere, zusätzliche Möglichkeit, wäre ANSI, bzw DEC Multinational
>> Character Set (teilweise) zu realisieren.
>
> Diese Lösung halte ich für geeigneter als immer umzuschalten. Font 0 ist
> ja schon auf dem besten Wege dahin :-)

Ist jetzt drin.

Neue Steuercodes:
1
### C1 Control Characters
2
3
            Code      Equiv.     
4
  Mnemonic  (Hex)     ESC Seq     Name
5
  ----------------------------------------------------------
6
  IND       84        ESC D       Index
7
  NEL       85        ESC E       Next line
8
  RI        8D        ESC M       Reverse index
9
  CSI       9B        ESC [       Control sequence introducer
10
  ST        9C        ESC \       String terminator
11
12
### Escape sequences
13
14
  ESC ~        LS1R    Invoke G1 into GR
15
  ESC n        LS2     Invoke G2 into GL
16
  ESC }        LS2R    Invoke G2 into GR (default)
17
  ESC o        LS3     Invoke G3 into GL
18
  ESC |        LS3R    Invoke G3 into GR
19
20
  ESC ( <      SCS     Select Character Set DEC supplemental  --> G0
21
  ESC ) <      SCS     Select Character Set DEC supplemental  --> G1
22
  ESC * A      SCS     Select Character Set UK  --> G2
23
  ESC * B      SCS     Select Character Set US ASCII  --> G3
24
  ESC * K      SCS     Select Character Set DE  --> G3
25
  ESC * <      SCS     Select Character Set DEC supplemental  --> G3
26
  ESC * 0      SCS     Select Character Set DEC special characters and line drawing set  --> G3
27
  ESC + A      SCS     Select Character Set UK  --> G4
28
  ESC + B      SCS     Select Character Set US ASCII  --> G4
29
  ESC + K      SCS     Select Character Set DE  --> G4
30
  ESC + <      SCS     Select Character Set DEC supplemental  --> G4
31
  ESC + 0      SCS     Select Character Set DEC special characters and line drawing set  --> G4

Doku dazu im VT220 Manual,
Kapitel 2 (Character Encoding) und Kapitel 4 (Received Codes)
http://vt100.net/docs/vt220-rm/contents.html

von Leo C. (rapid)


Angehängte Dateien:

Lesenswert?

Frohe Weihnachten!

Zum Abspielen empfehle ich 9600 Baud. Auf der VT100-Platine gehts auch 
mit 115200, wenn man RTS/CTS FLußsteuerung verwendet, aber schöner wirds 
dadurch nicht.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Leo C. schrieb:
> Frohe Weihnachten!

Danke, Dir auch!

Unglaublich was man mit so einem Zeichensatz alles erzeugen kann. Ich 
fühlte mich gerade wie bei einem Telespiel Ende der 70ziger.

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Hallo Joe,

kurze Frage die dicken SMD C's (9,11,10,6) sind das einfach nur 1206er?

Oder was spezielles?

Gruesse!

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

W3ll S. schrieb:
> Oder was spezielles?

Das sind normale SMD Elkos, also Polarität beachten!

von Welle 🧐 S. (w3llschmidt)


Lesenswert?


von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

ja, korrekt

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Hi Joe,

icke nochmal :)

Ist das die Richtige?

https://www.reichelt.de/index.html?ACTION=3;ARTICLE=52026;SEARCH=EB-DIOS

.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Ja, sollte passen. Damit die Farbe auch noch zu Stecker paßt, gibt es 
die sogar in blau ;-) Best. Nr. EB-DIOS M06V

von Leo C. (rapid)


Lesenswert?

Joe G. schrieb:
> die sogar in blau ;-) Best. Nr. EB-DIOS M06V

Genau. blau/violett für Tastatur, grün/türkis für Maus, grau geht gar 
nicht. ;-)
https://de.wikipedia.org/wiki/PS/2-Schnittstelle

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

:) Danke!

Noch eine, hoffentlich letzte Frage. :)

Das .bin auf den Propeller flashen, muss ich mir dafür die ganze Windows 
IDE installieren?

Gibts was kleines für Linux? So ein propload.py :)

von Leo C. (rapid)


Lesenswert?

Es gibt Brad's Spin Tool (BST):
http://www.fnarfbargle.com/bst.html

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

bstl - The command line loader

Cool :)

Thx!

: Bearbeitet durch User
von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Doch noch was :)

Die 0.1 Kondensatoren, sind das 0.1 Farad?

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Eigentlich gibt es nur 100nF und 10µF. 0.1F würde sehr sehr groß werden 
;-)

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Joe G. schrieb:
> (...) 10µF

Puhh, der letzte Wert den ich habe :)

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Grosser Mist, ich hab bei meiner Reicheltbestellung den BC817-25 und
den Kurzhubtaster vergessen heul

0,19 CENT Warenwert ... Versandkosten ... 5.60 EUR

Ob wohl hier jemand so nett wäre mir damit auszuhelfen?

2,50 EUR im Brief wäre ok?

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Ja, aber erst ab Montag wenn es reicht.

von Welle 🧐 S. (w3llschmidt)


Angehängte Dateien:

Lesenswert?

Hi Joe, super! Danke!!!

von Leo C. (rapid)


Lesenswert?

Hallo W3ll,
ich hatte Dir eine PM geschickt. Ist die nicht angekommen? Kopie war 
angekreutzt, und die kommt auch nicht. :(

Wenn Du mit einem 2N3904 statt BC817 zufrieden bist, könnte ich 
Transistor und Taster heute noch zur Post bringen.

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Hee Leo,

nee Du, nischt angekommen ?!

Ick nehm alles :)

Joe, passt das 2N3904?

: Bearbeitet durch User
von Leo C. (rapid)


Angehängte Dateien:

Lesenswert?

W3ll S. schrieb:
> Ick nehm alles :)

Dann schick mir eine PM mit Deiner Postadresse.

> Joe, passt das 2N3904?

Es ist eher ein MMST3904, und ja, der passt.
Gerade nochmal nachgemessen: Stromverstärkung reicht locker, und die 
Pinbelegung auch, auch wenn letzteres auf dem Datanblatt anders 
auszusehen scheint.


Nachtrag, gerade mal nachgeschaut:
Der Transistor sitzt auf meiner VT100-Terminal-Platine V1.1. Und die 
funktioniert.

: Bearbeitet durch User
von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Arghh, ich glaube mein FT232RL hat einen Schuss ...
1
Unbekanntes USB-Gerät (Fehler beim Anfordern einer Gerätebeschreibung.)

Spannungen habe ich geprüft.

:(

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

W3ll S. schrieb:
> Arghh, ich glaube mein FT232RL hat einen Schuss ...
>
>
1
Unbekanntes USB-Gerät (Fehler beim Anfordern einer 
2
> Gerätebeschreibung.)
>
> Spannungen habe ich geprüft.
>
> :(

So ein Mist, war eine Brücke in der USB-Buchse, ganz hinten drin :(

Naja, ein FT232RL getötet und wieder was gelernt.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

W3ll S. schrieb:
> Naja, ein FT232RL getötet und wieder was gelernt.

Ist der wirklich defekt? An welcher Stelle war den die Brücke?

von Welle 🧐 S. (w3llschmidt)


Angehängte Dateien:

Lesenswert?

Joe G. schrieb:
> W3ll S. schrieb:
> Ist der wirklich defekt? An welcher Stelle war den die Brücke?

Nachdem ich den FT232RL ausgelötet hatte, war er es :D

Hätte ich sorgfältiger gesucht, hätte ich die Brücke in der USB Buchse 
gefunden. Die war ganz hinten drin.

: Bearbeitet durch User
von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Joe, ich hätte da nochmal ein paar Fragen :)

Liegt die 1.7 als Binary irgendwo rum?

Port 0 = USB / Port 1 = SER?

Kann man RX/TX im Sourcecode einfach tauschen? Ich hab nur 
Nullmodemkabel :D

.

von Joe G. (feinmechaniker) Benutzerseite


Angehängte Dateien:

Lesenswert?

Die letzte Version sollte die V1.7.4 sein, anbei das Bin-File.
Die PIN-Konfiguration des IC kannst du in der VT100_VGA_color.spin 
ändern. Derzeit sie sie wie folgt aus: Wenn du Rx/Tx änderst, stimmt die 
Treiberansteuerung jedoch nicht mehr.

'pin configuration
  KEY_DATA    = 26                'Keyboard Data Pin
  KEY_CLK     = 27                'Keyboard CLK Pin
  VIDEO       = 16                'Video output Pin(s)
  TXD         = 30                'Serial Transmit
  RXD         = 31                'Serial Receive

Nachtrag:
Nochmals zum Schaltungsverständnis.
RxD# ist ja mit den Treiberausgängen des MAX3241 und des FT232 
verbunden. TxD# mit dessen Eingängen. Wenn du nun RxD und TxD im 
Prozessor tauscht (was möglich ist) sind jedoch dann Ausgänge auf 
Ausgänge und Eingänge auf Eingänge geschaltet. Das möchtest du sicher 
nicht. Bei verdrehten Kabel hilft also nur Kabel drehen ;-)

: Bearbeitet durch User
von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Danke Joe!

bei 1.7.3 will mein Keyboard nicht, es reagiert nicht auf F1.

: Bearbeitet durch User
von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Das Menü wird nicht mehr mit F1 aufgerufen sondern mit
Ctrl+PrintScreen

Die aktuellen Quellen stehen übrigens hier:
https://www.mikrocontroller.net/svnbrowser/avr-cp-m/trunk/VT100/source/work/?sortdir=down

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Läuft, super!  Danke!

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Prima, Glückwunsch!
Dann viel Freude damit :-)

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Joe G. schrieb:
> Prima, Glückwunsch!
> Dann viel Freude damit :-)

Werd ich haben, ich mach gerade eine PDP11 für mich fertig, das kommt
das dran :-)

Übringens hab ich wieder viel gelernt, ich weiss nun auch was Errata ist 
:D

Nachdem ich 2 Stunden lang Lötfehler gesucht hatte :)

: Bearbeitet durch User
von Hans-Juergen K. (hjkit)


Lesenswert?

Bin neu im Forum und hab den Beitrag erst jetzt gefunden.
Sehr interessantes Projekt !!
Gibt es vielleicht noch eine Platine und/oder Chips ?

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Leider sind nun alle Platinen aufgebraucht, auch Propeller IC's sind 
alle vergeben. Bei Bedarf (5-10 Stück) könnte ich jedoch eine neue Serie 
auflegen und Änderungswünsche berücksichtigen.

von Retro N. (retronerd)


Lesenswert?

Joe G. schrieb:
> alle vergeben. Bei Bedarf (5-10 Stück) könnte ich jedoch eine neue Serie
> auflegen und Änderungswünsche berücksichtigen.

Sehr schönes Projekt! Leider ist der letzte Post schon ja nun schon 
etwas älter.

Hätte auch Interesse an 2 Platinen, weil ich gerade  sowas für meine 
Retro Computer suche. Vielleicht finden sich ja noch mehr Interessenten.

von w3llschmidt (Gast)


Lesenswert?

Also 2x, dann aber bitte mit USB Anschluss würde ich nehmen :)

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

w3llschmidt schrieb:
> Also 2x, dann aber bitte mit USB Anschluss würde ich nehmen :)

USB ist doch immer mit dabei, die V24 muss ja nicht bestückt werden ;-)

Jetzt sind es ja schon 4 Platinen :-) Nochmal 2 und die Bestellung lohnt 
sich.

von Marcel A. (dl1ekm)


Lesenswert?

Zur Not nehme ich noch eine - für das NDR NKC Projekt :-)

Dort läuft übrigens inzwischen ein Vinculum - für die Z180-Stamp warte 
ich da ja noch sehnsüchtig drauf :-)

von Joe G. (feinmechaniker) Benutzerseite


Angehängte Dateien:

Lesenswert?

Das schlechte Wetter hat heute zur Überarbeitung des VT100-Terminals 
eingeladen ;-) Ich habe folgende Änderungen implementiert:

-  zweiten EEPROM umschaltbar über JP2
-  Audioausgang (JP3 und JP4)
-  programmierbar nur noch über USB

Der zweite EEPROM bietet die Möglichkeit zwei unterschiedliche 
Softwareversionen zu implementieren oder zu testen.
Werner [1] hat einige lustige Spiele (Tetris, Sokoban, usw.) für den 
Propeller geschrieben. Da die Hardware ähnlich aufgebaut ist, würden die 
Spiele auch auf dem Terminal laufen (zweiter EEPROM). Weiterhin erfolgt 
eine Soundausgabe über die Emulation eines AY-3-8910 Chip. Also habe ich 
den Soundausgang auch gleich mit auf die Leiterplatte gebracht. Leider 
bietet das Gehäuse keinen Platz für eine 3.5mm Audiobuchse, so dass ich 
einfach nur zwei Pins dafür vorgesehen habe.

Johannes (Retro Nerd) würde die Bestellung der Leiterplatte übernehmen.

[1] http://propeller.ws-nbg.de/main.php

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Joe G. schrieb:
> w3llschmidt schrieb:
>> Also 2x, dann aber bitte mit USB Anschluss würde ich nehmen :)
>
> USB ist doch immer mit dabei, die V24 muss ja nicht bestückt werden ;-)
> sich.

Hi Joe, ich meinte als Tastaturanschluss.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

W3ll S. schrieb:
> Hi Joe, ich meinte als Tastaturanschluss.

Verstehe, USB statt PS2-Tastatur. Dazu müßte ja ein USB-Host auf dem 
Propeller impelmentiert werden. Das habe ich jedoch nicht vorgesehen.

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Ja, PS2 Keyboards gibts irgendwie nicht mehr so schöne.

Ist aber nicht kriegsentscheidend.

von Retro N. (retronerd)


Lesenswert?


von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Retro N. schrieb:
> Würde sowas für eine USB Tastatur funktionieren?

Nur, wenn das eine bilinguale Tastatur ist, also die Tastaturhardware 
selbst sowohl das USB- als auch das PS/2-Protokoll kennt. Bei 
entsprechenden Tastaturen (und Mäusen) liegt so ein Adapter allerdings 
bei; ist so ein Adapter nicht vorhanden, kann davon ausgegangen werden, 
daß die Maus/Tastatur nicht bilingual ist, und dann funktioniert so 
ein Adapter nicht.

von Welle 🧐 S. (w3llschmidt)


Lesenswert?


: Bearbeitet durch User
von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?


von Retro N. (retronerd)


Lesenswert?


von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Retro N. schrieb:
> Stilecht wäre das hier:
> https://hackaday.com/2013/08/13/usb-adapter-for-an-old-vt100-keyboard/

Jepp. Die anderen Tastaturen davor waren alle PC- und keine echten 
VT100-Tastaturen. Ich selbst habe noch früher auf VT100-Terminals (und 
VT220) in C programmiert. Lang ists her.

: Bearbeitet durch Moderator
von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Ich würde mich auch überreden lassen eine eigenes VT100 Keyboard zu 
designen. Cherry MX Tasten sind ja verfügbar und einen Controller für 
eine Tastaturmatrix auf PS2 bekommt man hier [1]. Bleiben für mich nur 
drei Fragen offen:
1. Welche Tasten und welche Anordnung sollte ein „Retro“ VT-100 Terminal 
haben?
2. Wo gibt es möglichst „schöne“ Keycaps für die deutschen Umlaute? Für 
ein US Layout findet man ja Anbieter [2].
3. Gibt es dazu überhaupt Interesse?

[1] https://www.codemercs.com/downloads/keywarrior/KW_Datasheet.pdf
[2] 
https://de.aliexpress.com/store/product/Keycaps-Set-for-Mechanical-Keyboard-Gaming-Keyboard-Keycaps-60-68-87-108-keys-US-Layout-Keycaps/1815036_32808325110.html

von Nick S. (c0re)


Lesenswert?

Wäre prinzipiell auch an einer Platine interessiert, an einer Tastatur 
eher nicht, hab noch eine Cherry G81 1800l mit PS2 Anschluss...

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Joe G. schrieb:

> 2. Wo gibt es möglichst „schöne“ Keycaps für die deutschen Umlaute? Für

Massdrop ...

https://www.massdrop.com/buy/massdrop-x-mito-dsa-legacy-custom-keycap-set

Dort legen die immer wieder Serien auf, oft auch mit ISO/NORDE Keycaps.

Obwohl ich mittlerweile komplett auf US (ANSI)umgestiegen bin.

von Retro N. (retronerd)


Lesenswert?

Aus der neuen Serie sind noch 6 Platinen übrig.
Bei Interesse bitte PN an mich.

Aufgrund der vorhandenen Nachfrage verschicke ich aber erst mal nur max. 
2 Platinen pro Person - First come first serve.

Bei größerer Nachfrage würde ich kurzfristig noch mal eine 2. Serie 
auflegen.

von Frachnager (Gast)


Lesenswert?

Joe G. schrieb:
> Ich würde mich auch überreden lassen eine eigenes VT100 Keyboard zu
> designen.

Erstmal um dies richtig zu verstehen...
...ein "Brotkasten light", mit MiniDIN-PS/2 (anstelle der 6.3mm Klinke), 
ohne Funktionstasten, PCB, Gehäuse?  (um dies an dein VT100-VGA 
anzuschliessen)
Oder
...ein "Brotkasten light", mit onboard Propeller als VT100-VGA, an den 
direkt DC, VGA & Seriell angeschlossen wird, PCB, Gehäuse? 
(alternatives Design zum bisherigen VT100-VGA, in Tastatur integriert)

Meine persönliche Meinung:
Nur Tastatur dürfte wohl teuer werden. Retro-look hin oder her, das wird 
eine grosse aber eher "leere" PCB: viele cm^2 welche bloss als 
Tastenträger herhalten (auch wenn dies so sein muss).
Tastaturen werden von vielen in Massen hergestellt, auch mit 
Cherry-Switches - ergiebt hier ein DIY / Keinserienprodukt Sinn?

Hingegen den Propeller-VT100 direkt ins Tastaturgehäuse integriert... 
reduziert doch schon mal ordentlich den Kabelverhau im Betrieb und würde 
den Design- Eigenbauaufwand deutlich besser rechtfertigen.

Immernoch meine pers. Meinung:
Eine "marktgängige" (PS/2) Tastatur m. Cherry-Switches ausfindig machen, 
diese modifizieren sodass:
- PS/2 Kabel weg kommt,
- custom PCB m. Propeller-VT100 rein kommt.

Ob dann das Tastaturgehäuse zus. zu Bearbeiten ist um DC, VGA, DSub9 
Anschlüsse unterbringen zu können oder ob am urspr. Kabelausgang eine 
"Kabelpeitsche" mit den 3 Anschlüsse rauskommt, gilt es abzuklären.

Ja, auf diesem Weg leidet der Retrofaktor.
Wäre es der Gewinn aller F-Tasten & zivilisierte Anordnung d. 
Pfeiltasten nicht wert? (was dann mehr VT220 geht, erstmals ohne deren 
Funktionsumfang)

(Ist kein Cog mehr frei, der die Tastenmatrix abfragen könnte?)

von Retro N. (retronerd)


Angehängte Dateien:

Lesenswert?

Countdown ....

Noch 4 Platinen von der neuen Serie V1.2 verfügbar.

Bei Interesse bitte PN an mich.

Ich verschicke gegen eine Versandkosterstattung.

Aufgrund der vorhandenen Nachfrage verschicke ich aber erst mal nur max.
2 Platinen pro Person - First come first serve.

: Bearbeitet durch User
von Thomas N. (tonevi)


Angehängte Dateien:

Lesenswert?

Bei der Bestückung der neuen V1.2 Platine habe ich Inkonsistenzen 
zwischen dem hier am 12.11.2017 veröffentlichten Schaltplan (Eagle PDF 
Ausdruck) und dem tatsächlichen Leiterbahnverlauf auf der Platine 
entdeckt. Dies betrifft die in V1.2 geänderte Verschaltung der EEPROMs 
(siehe Detailfoto der Platine).

Zunächst fällt auf, dass beim 1. EEPROM (IC1) die Pins 1-4 direkt mit 
GND verbunden sind; laut Schaltplan dient A0 (Pin 1) aber zur 
Umschaltung zwischen EEPROM 1 & 2 über Pull up Widerstände und JP2. Ich 
vermute auf der Platine ist R21 "verrutscht" (sollte nur mit Pin 1 aber 
nicht mit Pin 2 von IC1 verbunden sein). Die Eagle Files wurden ja 
leider hier noch nicht gepostet, sonst könnte man sich die Signale im 
Layout nach Namen anzeigen lassen. Auch sollte der DRC hier einen 
"overlap" Fehler gemeldet haben.

Des Weiteren habe ich per Messung festgestellt, dass beide Pads von R1 
untereinander und mit 3,3V verbunden sind (per Durchkontaktierung auf 
der Rückseite der Platine). Damit liegen beide SDA Leitungen der EEPROMs 
fest auf 3,3V und ein Datenaustausch mit dem Prozessor ist nicht 
möglich.

Bin ich der erste, der hierüber stolpert oder hat jemand schon einen 
Workaround hierzu?

- Thomas

von Joe G. (feinmechaniker) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ja, ich kann diesen Fehler auch auf meiner LP von Retro Nerd bestätigen.
In meinem Layout (sie Anhang) ist dieser Fehler nicht vorhanden. Deshalb 
kann ich nur vermuten, dass er bei der Konvertierung der Eagleversionen 
(ich verwende die Versionen über 8.xx) aufgetreten ist. Der beidseitige 
3.3V Pegel an R1 ist auch auf den verschobenen Widerstand R21 
zurückzuführen. Da hilft wohl nur auf dem Layout „kratzen“. Anbei noch 
die kompletten Eagle Daten.

von Thomas N. (tonevi)


Lesenswert?

Danke für die schnelle Antwort und die Eagle Files; diese konnte ich 
übrigens problemlos mit Eagle 6.60 laden. Auch hier wird der korrekte 
Leiterbahnverlauf angezeigt und der DRC erzeugt keinerlei Meldungen.

von Thomas N. (tonevi)


Angehängte Dateien:

Lesenswert?

Nach dem Durchtrennen 2er Leiterbahnen und dem Auflöten von R21 in 
bedrahteter Variante auf der Rückseite läuft auch meine fehlerhafte V1.2 
Platine (siehe Fotos).

Ist V1.74 zu finden im SVN Archiv unter /trunk/VT100/source/work/ die 
aktuelle Firmware?

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Prima! Glückwunsch.
Ja, die V1.7.4 ist die aktuelle Software.

von Michael S. (Gast)


Lesenswert?

Hallo Joe G.,
hast Du noch Leerplatinen vom VT100-Terminal?

Danke
Gruß Michael

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Die Platinen wurden diesmal von "Retro Nerd" bestellt.
Beitrag "Re: VT100-Terminal (VGA+PS2)"

von Michael S. (dg7mdu)


Lesenswert?

Hallo Joe G.
Danke für die Info.

Gruß Michael S.

von Jens B. (sunnyman)


Lesenswert?

Ahoi!

Ich hätte Interesse an so einem Terminal, verfüge aber leider nicht über 
SMD-Verarbeitungsmöglichkeiten. Hat Jemand einen Tipp, wo ich sowas ggf. 
einfach "einkaufen" könnte?

von Marcel A. (dl1ekm)


Lesenswert?

Hi,
SMD ist echt kein Thema. Wenn du löten kannst, ist SMD noch viel 
einfacher. Es kommt nur auf die Technik an!
Du brauchst nicht jedes Beinchen unter dem Mikroskop einzeln löten. Der 
Trick ist ordentlich Flussmittel und dann großflächig die Chips mit 
Lötzinn bearbeiten.
Dazu gibt es eine Menge guter Youtube-Anleitungen - echt kein Thema. 
Geht sogar schneller als die bedrahteten Bauteile.

Gruß
Marcel

von Michael S. (Gast)


Lesenswert?

Hallo Joe G.
Ich habe die VT100 Platine V1.2 erfolgreich in Betrieb nehmen können. 
Die PS2 Tastatur und USB funktionieren einwandfrei. Die serielle 
Schnittstelle und die Tonausgabe über JP3/4 habe ich nicht bestückt.
Ich habe von der URL: http://propeller.ws-nbg.de/main.php mir Tetris 
runtergeladen und auf die VT100 Karte geladen. Der Startbildschirm ist 
sichtbar, jedoch werden Eingaben über die PS2 Tastatur blockiert.
Stört hier die USB Schnittstelle?

Vielen Dank für Deine Mühe
Gruß Michael

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Es ist erst mal kein Hardwareunterschied zu erkennen. Im VT-100 Terminal 
werden zwar P0 bis P7 verwendet, in Teris jedoch nicht benutzt (soviel 
ich auf die Schnelle im Quelltext erkennen konnte). In der 
Defaulteinstellung von Teris ist ja der englische Tastaturtreiber 
eingebunden, hast du es mal mit dem deutschen versucht. Ich werde heute 
Abend auch mal selber den Versuch mit beiden Treibern starten.

von Thorben (Gast)


Lesenswert?

Schönes Projekt!

von Michael S. (dg7mdu)


Lesenswert?

Hallo Joe G.
vielen Dank für Deine Rückantwort.
Ich habe Tetris jetzt auch mit dem deutschen Tastaturtreiber probiert, 
jedoch ohne Erfolg. Wenn Du bitte kurz berichtest, ob es bei Dir 
funktioniert wäre für mich sehr hilfreich. Dann würde ich mich bei 
meiner VT100 an die Fehlersuche machen.

Danke Dir

Gruß Michael

von Joe G. (feinmechaniker) Benutzerseite


Angehängte Dateien:

Lesenswert?

Michael S. schrieb:
> Wenn Du bitte kurz berichtest, ob es bei Dir funktioniert wäre für mich
> sehr hilfreich.

Ich habe es gerade mit beiden Treiberversionen getestet, beide Versionen 
laufen bei mir. Nach dem Startbildschirm weiter mit "Space" und dann 
kommt man zu den Spielvoreinstellungen.

: Bearbeitet durch User
von Michael S. (dg7mdu)


Lesenswert?

Hallo Joe G.
danke für Deine Nachricht. Dann werde ich mich mal auf die Suche machen.
JP1 habe ich auch schon mal entfernt, ohne Verbesserung. Bei mir 
leuchtet die Num-Lock Led ständig auf. Sie läßt sich auch durch mehreres 
drücken nicht ausschalten. Hallo hängt die PS2 Tastatur.

Danke
Gruß Michael

von Michael S. (dg7mdu)


Lesenswert?

So, hab den Fehler gefunden. Meine Tastatur mit PS2 Stecker machte das 
Problem, obwohl diese im VT100 Modus problemlos funktionierte.
Eine Tastatur mit USB auf PS2 Stecker funktioniert problemlos. Darauf 
muß man erstmal kommen :-(.
Letztendlich blieb diese Fehlerquelle als letztes übrig. Ganz verstehen 
tu ich es trotzdem nicht.

Nochmals Danke Joe G. für Deine Unterstützung.

Gruß Michael

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

An der Hardwareversion kann es nicht liegen. Ich habe mal spaßeshalber 
alle drei Versionen (1.0 – 1.2) mit Tetris geladen. Alle drei 
funktionieren bei mir. Es gibt auch keine Stelle im Quelltext wo P0 bis 
P7 vom Propeller bei Teris genutzt werden. Versuche es doch zunächst mal 
einer anderen PS2-Tastatur.

von Michael S. (dg7mdu)


Lesenswert?

Hallo Joe G.,
danke für den Tip, der war es.

Gruß Michael

von Michael S. (dg7mdu)


Lesenswert?

Hallo zusammen, ich habe den keyboard driver vom Joe G. ins 
PROPTRIS(Tetris) Verzeichnis kopiert.
Den Originalen Keyboard driver habe ich umgennant.
Den keyb-DE.spin(Joe G.) habe ich umgenannt in KEYBOARD_EN.spin.
Nach erneutem Kompilieren ging dann auch meine "fehlerhafte" Tastatur 
mit PS2 Stecker.
Der keyboard driver vom Werner ist wohl etwas zeitkritischer geschrieben 
:-) .

Gruß Michael

von Michael S. (dg7mdu)


Lesenswert?

Hallo Joe G.
könntest Du bitte über das Menu ein local echo ermöglichen?
Es würde einen Test auch ohne angeschlossenes Gerät ermöglichen.
Wenn es für euch keinen Sinn macht, auch ok.
Danke

Gruß Michael

von Joe G. (feinmechaniker) Benutzerseite


Angehängte Dateien:

Lesenswert?

Michael S. schrieb:
> könntest Du bitte über das Menu ein local echo ermöglichen?

Das Menü ist schon recht voll, so dass mir auf die Schnelle die 
Tastenkombination ALT+e (wie Echo) eingefallen ist. Also ALR+e toggelt 
nun zwischen Echo und keinem Echo, die serielle Ausgabe erfolgt immer. 
Bitte mal testen.

: Bearbeitet durch User
von Michael S. (dg7mdu)


Lesenswert?

Hallo Joe G.
vielen Dank für die schnelle Einbindung. <ALT>e als local echo on/off 
funktioniert.
ESC Seqenzen werden jedoch nicht verarbeitet.
Z.B. <ESC>c kein Reset des Terminals
Hab ich da einen Denkfehler?

Gruß Michael

von Michael S. (dg7mdu)


Lesenswert?

Hallo Joe G.,
ich nehme alles zurück. Mit dem deutschen keyboard driver von Dir 
funktionieren auch die ESC Seqenzen.
Ich verwendete, da ich eine US-Tastatur verwende folgenden:
''***************************************
''*  PS/2 Keyboard Driver v1.0.1        *
''*  Author: Chip Gracey                *
''*  Copyright (c) 2004 Parallax, Inc.  *
''*  See end of file for terms of use.  *
''***************************************

{-----------------REVISION HISTORY-----------------
 v1.0.1 - Updated 6/15/2006 to work with Propeller Tool 0.96}

Jetzt muss ich mir den US keyboard driver anpassen.
Kannst Du mir da bitte einen Tip geben?
Danke

Gruß Michael

von Leo C. (rapid)


Angehängte Dateien:

Lesenswert?

<ESC>c und andere Steuersequenzen funktionierten bei mir. Aber 
Großbuchstaben wurden zwar richtig übertragen, aber falsch angezeigt.
Abhilfe bringt folgender Patch am Ende der main-Schleife:
1
-          key_send(ch)
2
+          key_send(ch & $ff)

Ob das der Weisheit letzter Schluß ist, weiß ich noch nicht.

von Michael S. (dg7mdu)


Lesenswert?

Hallo Joe,
im Moment habe ich gewaltige Probleme obwohl ich mit der Version 1.7.4 
und dem keyb-de.spin Tastaturtreiber und deutscher Tastatur arbeite.
Vom TeraTerm aus in Richtung VT100 funktioniert alles bestens. äüöß, [, 
], ESC-Seqenzen CTRL-Sequenzen alles funktioniert.
In Gegenrichtung VT100 zum TerraTerm funktioniert a-z, A-Z, 0-9, ESC c, 
ESC D, ESC E, CTRL-Sequenzen.
Ich kann keine Zeichen die über <alt gr> zu ereichen sind am TerraTerm 
darstellen. <ß> wird als gefülltes Rechteck oben dargestellt(TerraTerm 
Fehler)

Mit Version 1.7.5 neu und dem keyb-de.spin Tastaturtreiber und deutscher 
Tastatur stellt sich das so da:
Normalmodus local echo off:
Von TeraTerm aus in Richtung VT100 funktioniert alles bestens. äüöß, [, 
], ESC-Seqenzen CTRL-Sequenzen alles funktioniert.
In Gegenrichtung VT100 zum TerraTerm funktioniert a-z, A-Z, 0-9, ESC c, 
ESC D, ESC E, CTRL-Sequenzen(<CTRL> H...).
Ich kann keine Zeichen die über <alt gr> zu ereichen sind am TerraTerm 
darstellen([]...). <ß> wird als gefülltes Rechteck oben 
dargestellt(TerraTerm Fehler)

Im echo on Modus:
Vom TeraTerm aus in Richtung VT100 keine Zeichenübergabe.
Bei VT100 zu VT100 funktioniert a-z, A-Z, 0-9, ESC c, ESC D, ESC E, 
CTRL-Sequenzen(<CTRL> H...).
Ich kann keine Zeichen die über <alt gr> zu ereichen sind am VT100 
darstellen([]...). <ß> wird als <ß> dargestellt.

Ist mein VT100 fehlerhaft?

Vielen Dank für Deine Hilfe

Gruß Michael

von Leo C. (rapid)


Lesenswert?

Michael S. schrieb:
> Ist mein VT100 fehlerhaft?

Eher nicht.
Du wirst Dich wahrscheinlich mit den verschiedenen Zeichensätzen 
(character encoding, character sets, ...) beschäftigen müssen. Einfach 
mal hier im Thread (Seite 1) nach "Zeichensatz suchen". Und/oder das 
Handbuch [1] lesen.
In der Datei "control-codes.md" findet man die Umschaltcodes.


[1] https://vt100.net/docs/vt220-rm/chapter2.html

von Leo C. (rapid)


Lesenswert?

Nochmal genauer gelesen...

> Normalmodus local echo off:

> Ich kann keine Zeichen die über <alt gr> zu ereichen sind am TerraTerm
> darstellen([]...).

Bei mir sendet das VT100 die richtigen Zeichen.
Kann das TerraTerm die empfangenen Zeichen als Hexcode darstellen?

> Im echo on Modus:
> Vom TeraTerm aus in Richtung VT100 keine Zeichenübergabe.

Ich würde sagen, Joe hat genau das geliefert, was bestellt wurde. :-)

> Bei VT100 zu VT100 funktioniert a-z, A-Z, 0-9, ESC c, ESC D, ESC E,
> CTRL-Sequenzen(<CTRL> H...).
> Ich kann keine Zeichen die über <alt gr> zu ereichen sind am VT100
> darstellen([]...). <ß> wird als <ß> dargestellt.

Funktioniert hier auch wie erwartet.
Um zu testen, welche Codes deine Tastatur liefert, könntest Du in 
"VT100_VGA_color.spin" die repeat-Schleife am Anfang der main-Prozedur 
entkommentieren. Die normale Funktion des Terminals wird dann nicht mehr 
ausgeführt, sondern nur noch die Tastencodes direkt auf dem Bildschirm 
angezeigt.
Die Klammern sollten diese Codes liefern:
1
45B : [
2
45D : ]
3
47B : {
4
47D : }

von Joe G. (feinmechaniker) Benutzerseite


Angehängte Dateien:

Lesenswert?

Michael S. schrieb:
> Im echo on Modus:
> Vom TeraTerm aus in Richtung VT100 keine Zeichenübergabe.

Der Fehler ist nun behoben. Das einführen des Echos gestern war ein 
Schnellschuss.

Michael S. schrieb:
> Ich kann keine Zeichen die über <alt gr> zu ereichen sind am VT100
> darstellen([]...). <ß> wird als <ß> dargestellt.

Die <alt gr> Taste wird im VT100 nicht abgefragt. Welche Key-Codes 
möglich sind, steht am Ende des Programmes keyb-DE.spin. Derzeit sind 
nur die folgenden Kombinationen möglich.
+100    if Shift
+200    if Ctrl
+400    if Alt
+800    if Win

von Michael S. (dg7mdu)


Lesenswert?

Hallo Leo,
mit dem Umschalten der select character habe ich noch nichts brauchbares 
heraus bekommen.
Irgendwie blick ich da noch nicht richtig durch.
Kannst Du mir ausnahmsweise die richtige Umschalt-Sequenz nennen?
Gibt es auch eine Möglichkeit vom deutschen keyboard ins englische 
umzuschalten(qwertz zu qwerty)?

Was ich im Standard Zeichensatz gefunden habe:
<alt> O = [
<alt> ö = ]
<alt> ü = \
damit lassen sich auch mit local echo on die escape sequenzen ausführen.

Vielen Dank
Gruß Michael

von Michael S. (dg7mdu)


Lesenswert?

Hallo Joe
Du schriebst:
Die <alt gr> Taste wird im VT100 nicht abgefragt. Welche Key-Codes
möglich sind, steht am Ende des Programmes keyb-DE.spin. Derzeit sind
nur die folgenden Kombinationen möglich.
+100    if Shift
+200    if Ctrl
+400    if Alt
+800    if Win

Wenn ich noch rausbekomme, wie ich eine US-Tastatur trotz deutschen 
keyboard driver vernünftig bedienen kann(qwerty), brauch ich auch keine 
<altgr> Taste :-)

Werde nochmals mit dem originalen keyboard.spin experimentieren.
Vielen Dank an alle

Gruß Michael

von Joe G. (feinmechaniker) Benutzerseite


Angehängte Dateien:

Lesenswert?

Michael S. schrieb:
> Wenn ich noch rausbekomme, wie ich eine US-Tastatur trotz deutschen
> keyboard driver vernünftig bedienen kann(qwerty), brauch ich auch keine
> <altgr> Taste :-)

Versuche es mal mit diesem Treiber, er ist das Äquivalent zum deutschen 
Treiber. Ich habe gerade mal alle Zeichen getestet und keinen Fehler 
festgestellt. Im Hauptprogramm einfach
OBJ
  text   : "VGA_640"               'Full Color VGA-640x480 Driver
  key    : "keyb-EN"               'new Keyboard Driver
  ser    : "FullDuplexSerial"     'Full Duplex Serial Controller
  config : "eeprom"

einstellen.

: Bearbeitet durch User
von Michael S. (dg7mdu)


Lesenswert?

Hallo Joe,
vielen Dank für den keyb-en.spin.
Die normalen Zeichen stellt er alle richtig dar, Control H funktioniert 
auch.
ESC wird bei mir nicht abgefangen, sondern als grafisches Zeichen 
dargestellt.
Somit sind ESC-Sequenzen bei mir leider nicht ausführbar.

Gruß Michael

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Michael S. schrieb:
> ESC wird bei mir nicht abgefangen, sondern als grafisches Zeichen
> dargestellt.

Der deutsche Treiber liefert bei ESC "1B" und der englische "CB". An der 
Stelle muss man eingreifen. Ich muss leider gleich weg, so dass ich 
jetzt nicht dazu komme.

von Michael S. (dg7mdu)


Lesenswert?

Hallo Joe,
danke für die Info!. Komme heute abend auch nicht mehr dazu.
Werde mir morgen aber den Quellcode anschauen.

V.G.
Michael

von Michael S. (dg7mdu)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,
habe mir doch noch schnell den keyb-en.spin angeschaut.
Folgende Zeile habe ich geändert:
word    $00CB   '76             Esc
in
word    $001B   '76             Esc

Erste Tests ergaben, das ESC-Sequenzen funktionieren

V.G.
MIchael

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Michael S. schrieb:
> Folgende Zeile habe ich geändert:

Korrekt, an dieser Stelle wird den Scancode der Tastatur der ASCII-Code 
zugewiesen.

von Michael S. (dg7mdu)


Lesenswert?

Hallo Joe,
bringst Du ein neues Release 1.7.5 mit keyb-en.spin raus, oder gibt es 
noch was bzgl. 1.7.5 zum testen?

Gruß Michael

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Michael S. schrieb:
> bringst Du ein neues Release 1.7.5 mit keyb-en.spin raus, oder gibt es
> noch was bzgl. 1.7.5 zum testen?

Ich habe die Version 1.7.5 im SVN hochgeladen (eigens Verzeichnis, nicht 
mehr in work). Der englische Treiber heißt keyb-US.spin, da ja 
tatsächlich der amerikanische Tastaturbelegung und nicht die 
UK-Tastaturbelegung genutzt wird. Ich habe selber auch nur eine 
US-Tastatur zum testen. Vielleicht findet sich ja noch jemand, der mit 
einer UK-Tastatur testet.

: Bearbeitet durch User
von Michael S. (dg7mdu)


Lesenswert?

Hallo Joe, danke für's "Releasen" der V.1.7.5 . Ich habe mal alle meine 
<qwerty> Tastaturen angeschaut, sind leider alle Pseudo US Tastaturen. 
Pseudo deswegen, weil sie die über 2 Tastaturzeilen verteilte <RETURN> 
Taste besitzen. Daher haben diese in der ASD Zeile am rechten Ende noch 
eine zusätzliche Taste wie die UK-Tastatur (|\ Taste) die bei der 
originalen US Tastatur in der QWERTY Zeile zusätzlich ganz rechts sich 
befindet.
Daher kann ich die UK-Tastatur leider nicht testen.

Gruß Michael

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Hat jemand eine Quelle um ordentliche Frontplatten für das Gehäuse 
anfertigen zu lassen?

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Hast du es mal mit dem Frontplatten-Designer von Schaeffer versucht?
https://www.schaeffer-ag.de/frontplatten_designer/die_idee/

von Welle 🧐 S. (w3llschmidt)


Lesenswert?

Joe G. schrieb:
> Hast du es mal mit dem Frontplatten-Designer von Schaeffer versucht?
> https://www.schaeffer-ag.de/frontplatten_designer/die_idee/

:) ich war zu faul zum austüfteln und dachte ich kann hier das 
Schaeferfile abgreifen :)

von Maik D. (iltedesco)


Lesenswert?

Hallo zusammen,
ich habe die Bauteile bestellt damit ich die Platine endlich löten kann. 
Die sind dann endlich heute angekommen. Leider habe ich vergessen den 
MAX3241 mitzubestellen. ;-(

Leider habe ich ihn nur bei den typischen großen Distributoren gefunden. 
Und der Preis ist auch nicht ohne.

Hat jemand noch einen Typ wo ich ihn herbekomme oder weiss jemand einen 
kompatiblen Baustein?

Danke schon mal

Grüße
Maik

von Marcel (Gast)


Lesenswert?

Hi,
als Einzelteil habe ich den bei ebay bekommen.

von Maik D. (iltedesco)


Lesenswert?

Ja,
da habe ich auch schon geschaut. Der will allerdings 20€ dafür und sitzt 
in England.
Da sind die Distributoren günstiger...

Wahrscheinlich werde ich wohl in den sauren Apfel beissen müssen und ihn 
dort bestellen.

von Marcel (Gast)


Lesenswert?

Also mir listet ebay einen ein GB für 9,38€ inkl. Versand... Auch kein 
Schnapper, aber immerhin.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Maik D. schrieb:
> Hat jemand noch einen Typ wo ich ihn herbekomme oder weiss jemand einen
> kompatiblen Baustein?

Ich würde in 3 Wochen (derzeit Urlaub) bei Mouser bestellen. Wenn du 
noch solange warten möchtest...

von Maik D. (iltedesco)


Lesenswert?

Joe G. schrieb:
> Maik D. schrieb:
>> Hat jemand noch einen Typ wo ich ihn herbekomme oder weiss jemand einen
>> kompatiblen Baustein?
>
> Ich würde in 3 Wochen (derzeit Urlaub) bei Mouser bestellen. Wenn du
> noch solange warten möchtest...

Danke für dein Angebot.
Zwischenzeitlich habe ich bei https://www.develektro.com bestellt.
Der Shop ist wohl ein Partner von Farrell/element14. Den kannte ich noch 
nicht.
Mal sehen wann die ankommen.

von Michael S. (dg7mdu)


Lesenswert?

Joe G. schrieb:
> Ich würde in 3 Wochen (derzeit Urlaub) bei Mouser bestellen. Wenn du
> noch solange warten möchtest... MAX3241

Hallo Joe
vielen Dank für das Angebot.
Sind das dann der Typ SSOP und was würde einer dann mit Versand an Dich 
und dann nochmal an mich kosten?

Viele Grüße
Michael

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Michael S. schrieb:
> Sind das dann der Typ SSOP und was würde einer dann mit Versand an Dich
> und dann nochmal an mich kosten?

Ich würde genau den passenden Typ für das Layout bestellen. Ob es SSOP 
ist kann ich gerade nicht sagen (bin im Urlaub). Da ich eine größere 
Bestellung zu erledigen habe, würde die Versandkosten zu mir entfallen. 
Für dich sind es dann die Kosten für einen einfachen Kompaktbrief 
(0,85€).

von Michael S. (dg7mdu)


Lesenswert?

Hallo Joe ich bin ab 06.08 selber für 3 Wochen im Urlaub. Falls der 
Preis >= 10€ ist, wäre es nett mir zwei MAX3241 mit zu bestellen. 
Wichtig wäre nur, dass es Typ SSOP oder TSOP ist.

Danke Dir und schönen Urlaub noch.

Gruß Michael

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

@alle
Der MAX3241CAI+ (SSOP) ist bestellt.

von Marcel (Gast)


Lesenswert?

Hallo Joe,
könntest du die Doku zur V1.2 noch im SVN einchecken?

Gruß
Marcel

von Marcel (Gast)


Lesenswert?

Ich verzweifel gerade...

Ich wollte die V1.7.5 aufspielen und dabei gleich den Vorgang für die 
Dokumentation festhalten - aber weder Linux noch Windows finden den 
Port!

Linux dmesg gibt mir aus:
[404844.505175] usb 1-1: new full-speed USB device number 23 using 
xhci_hcd
[404844.639095] usb 1-1: New USB device found, idVendor=0403, 
idProduct=6001
[404844.639106] usb 1-1: New USB device strings: Mfr=1, Product=2, 
SerialNumber=3
[404844.639110] usb 1-1: Product: USB-UART4
[404844.639114] usb 1-1: Manufacturer: TOPTEST
[404844.639118] usb 1-1: SerialNumber: RTZ87DIH
[404844.641441] ftdi_sio 1-1:1.0: FTDI USB Serial Device converter 
detected
[404844.641584] usb 1-1: Detected FT232RL
[404844.641897] usb 1-1: FTDI USB Serial Device converter now attached 
to ttyUSB0
[404845.890656] usb 1-1: USB disconnect, device number 23
[404845.891124] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now 
disconnected from ttyUSB0
[404845.891201] ftdi_sio 1-1:1.0: device disconnected

Er wird sofort wieder getrennt. Wenn ich schnell bin sehe ich für 2-3 
Sekunden, dass ein ttyUSB0 angelegt wird.

LSUSB zeugt keinen FTDI an...

Unter Windows "zuckt" der Gerätemanager - aber es kommt nix - auch kein 
unbekanntes Gerät.

von Marcel A. (dl1ekm)


Lesenswert?

Noch eine Ergänzung:

Mit einer Knoppix-CD von 2014 ist das gleiche Verhalten..

Die LEDs (grün/rot) blinken beim Start.

Ich habe das Teil aber doch mal genutzt! Ich hatte damals aber schon den 
Effekt, dass die Anschlüsse C0..C3 nicht richtig werksseitig gesetzt 
waren, das konnte ich mit FTProg richten.

Da sich das Teil auch mit der richtigen Vendor/Product ID meldet, dann 
aber so komische Strings für Hersteller etc. ausgibt - ist das doch ein 
FakeChip, der stillgelegt worden ist?

Oder ist der einfach nur hinne?

EDIT:

Nach einem Linux Neustart wird erst einmal gar nichts erkannt.
Wenn ich dann den USB-Anschluss neu einstecke:

  206.182966] usb 3-2: new full-speed USB device number 2 using xhci_hcd
[  206.569862] usb 3-2: New USB device found, idVendor=0403, 
idProduct=6001
[  206.569872] usb 3-2: New USB device strings: Mfr=1, Product=2, 
SerialNumber=3
[  206.569876] usb 3-2: Product: USB-UART4
[  206.569880] usb 3-2: Manufacturer: TOPTEST
[  206.569884] usb 3-2: SerialNumber: RTZ87DIH
[  207.527650] usb 3-2: USB disconnect, device number 2
[  207.659157] usbcore: registered new interface driver usbserial
[  207.659222] usbcore: registered new interface driver 
usbserial_generic
[  207.659279] usbserial: USB Serial support registered for generic
[  207.662843] usbcore: registered new interface driver ftdi_sio
[  207.662913] usbserial: USB Serial support registered for FTDI USB 
Serial Device

LSUSB gibt aber nicht aus

Dann wieder ab und dran und die Meldungen von oben kommen.

Besten Gruß
Marcel

: Bearbeitet durch User
von Marcel A. (dl1ekm)


Lesenswert?

Hallo Aufregung umsonst - ich habe wieder Zugriff.
Man muss bei der Version 1.1 den Jumper JP1 entfernen, sonst resetet 
sich der FTDI selber ....

Trotzdem würde ich gerne noch die V1.2 aufbauen.
Wo bekommt man den "günstig" den Propeller und den MAX her?
Platinen würde ich dann in China machen lassen...

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Marcel A. schrieb:
> Wo bekommt man den "günstig" den Propeller und den MAX her?

Den Propeller bekommst du hier [1]. Mouser ist günstiger (hat übrigens 
auch den MAX) aber du mußt erst mal über den Mindestbestellwert.

[1] https://www.watterott.com/en/Propeller-P8X32A-Q44

von Günther S. (Gast)


Lesenswert?

Ich hätte auch an einem Bauteilsatz (Platine und Chips) Interresse...

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

OK, ist notiert.

von Siegfried W. (swausd)


Lesenswert?

Hallo Joe,

tolles Projekt! Der letzten Meldung entnehme ich, dass es eventuell noch 
Bauteilsätze gibt. Wenn möglich hätte ich auch gerne eine Platine und 
möglichst viele der benötigten Bauteile.

Damit könnte ich meine Retro-Aktivitäten ohne Gigahertz-PC betreiben :-)

Gruß

Siegfried

von Günther S. (Gast)


Lesenswert?

Wären jetzt nicht genügend Interessenten um Leiterplatten machen zu 
lassen? Ich würde evt, auch die Bestellung übernehmen, und die 
Leiterplatten verteilen. ES wäre nicht schlecht bis Weihnachten alles 
zusammen zu haben. Was meint ihr?

von Marcel A. (dl1ekm)


Lesenswert?

Gerne, ich würde 1-2 nehmen

von Siegfried W. (swausd)


Lesenswert?

Ich würde auch gerne 2 nehmen.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Leider habe ich keine fehlerfreien Platinen von der Version 1.2 mehr. 
Von der Version 1.1 gibt es noch genau eine Platine.
Natürlich könnte die Version 1.2 schnell wieder neu aufgelegt werden. 
Ich hatte jedoch eigentlich vor in der Version 1.3 die Mouse zu 
integrieren und den zweiten EEPROM über die Software umschaltbar zu 
machen (bisher in der V 1.2 über Jumper). Für den MAX3241 habe ich 
bisher leiden keinen gleichwertigen Ersatz gefunden, wer eine Idee dazu 
hat… sie ist jederzeit willkommen.
Wie sind die Meinungen dazu? Nochmals die Version 1.2 oder lieber gleich 
1.3?

von Siegfried W. (swausd)


Lesenswert?

Hallo Joe,

mir würde die V1.2 ausreichen. Allerdings habe ich es auch nicht 
sonderlich eilig. Schließe mich der Mehrheit an.

Gruß

Siegfried

von Marcel A. (dl1ekm)


Lesenswert?

Ich bin für die 1.3, die 1.1 habe ich ja.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Vielleicht noch mal kurz etwas zum zweiten EEPROM und der Mouse.

Die Propellersoftware wird ja beim Bootvorgang aus dem EEPROM gelesen 
und in den RAM geschrieben. Dieses Programm wird dann gestartet. Über 
den zweiten EEPROM kann also ein komplett anderes Programm geladen und 
ausgeführt werden. Im Prinzip reicht also ein Jumper aus, um manuell die 
jeweilige Software zu wählen. Für eine VT100 Version absolut ausreichend 
(es reicht sogar nur ein EEPROM). In meiner geplanten Anwendung soll 
jedoch das CP/M System das Terminal in den Grafikmode (zweiter EEPROM) 
und wieder zurück schalten. Die Mouse deshalb, um im Texteditor 
einfacher an die jeweilige Cursorposition zu gelangen.

Beitrag #5624906 wurde vom Autor gelöscht.
von Maik D. (iltedesco)



Lesenswert?

Hallo zusammen,
ich habe auch Interesse an der 1.3.
Ich würde 3 davon nehmen wollen.

Ach ja, ich habe in Eigenregie die 1.2 vor ca. 6 Monaten fertigen 
lassen. Die Fehler habe ich versucht zu korrigieren.
Ich bin aber aus privaten Gründen noch nicht dazu gekommen eine fertig 
zusammen zu löten.

5 Stück würde ich abgeben. Wären 3€ pro Stück in Ordnung?

Und natürlich alles ohne Garantie da ich sie noch nicht testen konnte.

Also bei Interesse bitte melden

Grüße Maik

von Günther S. (Gast)


Lesenswert?

Hallo, mir würde die 1.2 ausreichen. Da ich jetzt eher zügig was bauen 
möchte, würde ich  eine davon nehmen, falls es zu keiner 
Sammelbestellung kommt. Sind die Fehler denn einfach zu beseitigen? 10 
Stück kosten ja nicht die Welt.

von Siegfried W. (swausd)


Lesenswert?

Hallo Maik,

ich würde gerne 1 Stück von Deiner V1.2 nehmen. Schicke mir die Detail 
per PM.

@Alle
Mein unmittelbarer Bedarf wäre dann zunächst gedeckt. Die V1.3 würde ich 
aber im Auge behalten wollen.

Gruß

Siegfried

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Günther S. schrieb:
> Sind die Fehler denn einfach zu beseitigen?

Bei einer Bestellung ist der Widerstand R20 etwas verrutscht, im Layout 
von Maik D. ist dieser Fehler behoben. Das Layout sollte also fehlerfrei 
sein.

von Günther S. (Gast)


Lesenswert?

Hallo Maik,
ich würde dann auch mal eine nehmen. Dann kann ich anfangen, bei einer 
Neuauflage sehe ich dann mal. Schickst du mir deine Daten per PN? Danke
Günther

von Günther S. (Gast)


Lesenswert?

Hallo zusammen, ich habe jetzt die Platine von Maik aufgebaut. 
Programmiert habe ich es unter Linux mit dem BST 0.19. Bild bekomme ich 
auch, über USB gehen auch Daten rein und raus, seriell gehen die Daten 
nur raus (keine empfangenen Zeichen), egal ob ich den Jumper JP1 stecke 
oder nicht. Ich komme auch nicht ins Setup über F1. Ich habe das binary 
aus dem SVN einprogrammiert. Ist das die aktuelle Version oder gibt es 
noch einen Trick?

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Hallo Günther,

die aktuelle Softwareversion ist die Version 1.7.5 [1],
Der Parallelbetrieb V24 und USB ist nicht implementiert. Es geht also 
immer nur jeweils eine von beiden Schnittstellen. Default ist (wenn der 
EEPROM leer) die USB Schnittstelle eingestellt. Im VT100 Setup-Menü 
(Ctrl+PrintScreen) kann jedoch auf RS232 umgeschaltet werden. Weiterhin 
sind hier (fast) alle Kommandos zur Konfiguration zu finden. Zusätzliche 
Funktionen sind:

Alt + i – set default color
Alt + e – toggle Echofunction
Ctrl-Alt-Delete - RESET für CP/M

[1] svn://mikrocontroller.net/avr-cp-m/trunk/VT100/source/V1_7_5/

von Günther S. (Gast)


Lesenswert?

Hallo Joe,
das wars, ich hatte wohl ein falsches binary erwischt. Jetzt 
funktioniert es, vielen Dank an dich und Maik. Als nächstes kommt dann 
die Z180 Stamp dran, aber das dauert noch ein bischen.

von Maik D. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,
ich hänge hier noch mal die Eagle Dateien an. Die scheinen ja ohne 
Fehler zu sein.

@Joe G.
Eventuell solltest du diese als Grundlage für deine v1.3 Entwicklung 
nehmen.

von Rene V. (creep)


Lesenswert?

Hallo,

ich habe mir mal für den Eigenbedarf ~10 Platinen von dem Eagle-Layout 
bestellt. Das dauert natürlich jetzt ein paar Wochen. Bei Bedarf gebe 
ich auch die überzähligen ab. Ich melde mich dann nächstes Jahr, wenn 
sie da sind. Nur, falls mehrere überlegen, die nochmal zu bestellen.

Gruß, Rene

von Maik D. (iltedesco)


Lesenswert?

Hallo zusammen,
Ich habe auch noch 3 Stück der korrigierten Version 1.2 abzugeben.
Bei Interesse meldet euch.

Grüße
Maik

von Rene V. (creep)


Lesenswert?

Hallo,

die von mir im Dezember georderten VT100 Platinen sind jetzt bei mir. 
Wer noch eine braucht, bitte einfach (nochmal) melden. 2€ plus 
anfallendes Porto.

Gruß, Rene

von Günther S. (guenther_sch)


Lesenswert?

Hat eigentlich schon jemand mal versucht die Schaltung direkt an ein 
RGB-TFT Panel anzuschliessen? Front und Backporch ist in der Software ja 
einstellbar, oder habe ich was anderes grundsätzliches übersehen?

Beste Grüße
Günther

von Tim (Gast)


Lesenswert?

Günther S. schrieb:
> Hat eigentlich schon jemand mal versucht die Schaltung direkt an
> ein
> RGB-TFT Panel anzuschliessen? Front und Backporch ist in der Software ja
> einstellbar, oder habe ich was anderes grundsätzliches übersehen?
Das sollte eigentlich gehen.
Hast Du ein betimmtes Display im Auge?

Hier mal ein allgemeines Dokument zum Thema:
https://www.nxp.com/wcm_documents/techzones/microcontrollers-techzone/Presentations/graphics.lcd.technologies.pdf

Für die Signale "LCD clock" und "LCD data enable" muß man sich evtl. 
noch was einfallen lassen...

von Bernhard (Gast)


Lesenswert?

Hat noch jemand eine Platine über? Ansonsten würde ich mal neue 
bestellen.

von Rene V. (creep)


Lesenswert?

Hallo,

ich bin mir ziemlich sicher, daß ich noch ein paar davon habe. Könnte 
ich am Wochenende jetzt mal nachschauen und evtl. verschicken.

Gruß, Rene

von Jens B. (sunnyman)


Lesenswert?

Also, ich wäre auch an so einer Platine interessiert. Für mich ist aber 
noch die Frage: an wen kann ich mich wenden, um eine vollständige 
Platine zu bekommen? :) Ich habe leider keinen Zugriff auf SMD-Werkzeug 
und dementsprechend keine Erahrung.

von Mathias S. (mathias_s)


Lesenswert?

Auch ich hätte Interesse an einer Platine und ebenfalls mangels 
SMD-Equipment an einer festig bestückten, falls das jemand machen würde.
Beste Grüße,
Mathias

von Marcel A. (dl1ekm)


Lesenswert?

Leute, macht euch wegen SMD keine Gedanken - das ist einfacher als 
normale Bauteile - Flussmittel ist dein Freund! Schaut euch die Videos 
dazu an - es sind weder Mikroskop noch sonstiges Spezialwerkzeug 
notwendig.

von Rene V. (creep)


Lesenswert?

Hallo Bernhard,

genau eine Platine habe ich noch. Schick mir am besten per 
Privatnachricht Deine Adresse.

Gruß, Rene


PS: Die Platine ist wirklich unkompliziert. Pinzette, Augenlupe, 
bleihaltiges Lot, Flußmittel und gute Lötspitze, dann läuft's!

von Jens B. (sunnyman)


Lesenswert?

Rene V. schrieb:
> PS: Die Platine ist wirklich unkompliziert. Pinzette, Augenlupe,
> bleihaltiges Lot, Flußmittel und gute Lötspitze, dann läuft's!

Also gehts auch ohne SMD-Lötkolben? Dann würde ich dennoch eher 2 haben 
wollen, weil das dann mein erstes SMD-Projekt wäre.

von Nick M. (Gast)


Lesenswert?

Jens B. schrieb:
> Also gehts auch ohne SMD-Lötkolben?

Man braucht einen geregelten Lötkolben und eine geeignete Lötspitze für 
sowas. Lötspitze für mich wäre Meißelspitze 1,2 mm breit.
Verbleites Lot 0,5 mm. Flußmittel, was ordentliches.
Das ist echt kein Hexenwerk. Man muss es nur mal machen. Die Feiertage 
wären dafür geeignet. :-)

Oh und eine ordentliche Pinzette.

von Jens B. (sunnyman)


Lesenswert?

Nick M. schrieb:
> Man muss es nur mal machen. Die Feiertage
> wären dafür geeignet. :-)

Wenn du wüsstest, was alles schon auf meiner "Zwischen den Jahren"-Liste 
steht :D

Aber gut, dann melde ich mal Interesse für 2 Platinen an. :)

von Mathias S. (mathias_s)


Lesenswert?

Legt denn noch jemand neue Platinen auf?

von Peter S. (petersieg)


Lesenswert?

Evtl. auch interessant?:
https://github.com/fdivitto/FabGL

Peter

von Mathias S. (mathias_s)


Lesenswert?

ja - und z.B. das hier:

http://geoffg.net/terminal.html

und die Variante von Peter Hizalev:
https://www.tindie.com/products/petrohi/geoffs-vt100-terminal-kit/

Peter hatte bislang nicht nach Europa versendet. Aufgrund meiner 
Hartnäckigkeit bietet er inzwischen aber den Versand nach D an ;-)

und je nach Anwendungsfall ggf.

https://www.tindie.com/products/microwavemont/simple-serial-console-kit/

Aber bitte nicht als Konkurrenz zur aus meiner Sicht schöneren 
Entwicklung von JoeG auffassen!

: Bearbeitet durch User
von Günther S. (guenther_sch)


Lesenswert?

Beim FabGL, bzw. TTGO VGA32 ist aber das Problem dass die serielle nicht 
rasugeführt ist sondern nur als USB Port existiert. Man kann das sicher 
umlöten, oder müsste eine Platine machen, die das auch kann. Wäre mal 
ein neues Projekt.

von Michael S. (dg7mdu)


Lesenswert?

Hallo zusammen,
ich habe noch VT100 PCP's Version 1.2.1 zur Verfügung.
1 Stück 2€ plus Versand.

Bei Bedarf bitte PM
Gruß Michael

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.