Aufbau eines 3270-Terminalcontrollers

Nachricht

HeimHeim / Nachricht / Aufbau eines 3270-Terminalcontrollers

May 18, 2023

Aufbau eines 3270-Terminalcontrollers

Wir reden gerne darüber, dass die meisten unserer Computer heute Großrechner gewesen wären

Wir reden gerne darüber, dass die meisten unserer Computer vor knapp 40 oder 50 Jahren noch Großrechner gewesen wären. Aus diesem Grund verwenden viele Leute, die IBM-Großrechner wie IBM 360 oder 370 betreiben möchten, den Hercules-Emulator, um das große Eisen auf ihren PCs laufen zu lassen. Allerdings verwendeten IBM-Mainframe-Computer einen seltsamen Terminalstil, und die Emulation auf einem PC ist nicht immer so zufriedenstellend. Zumindest dachte [lowobservable] das und beschloss, ein 3270-Terminal mit Hercules zum Laufen zu bringen.

In den schlechten alten Zeiten der Informatik gab es zwei Haupttypen von Terminals. Einige Unternehmen, zum Beispiel DEC, nutzten Terminals im Wesentlichen als „gläserne Fernschreiber“. Das heißt, der Bildschirm war mehr oder weniger ein Analogon einer Papierrolle und die Tastatur sendete sofort Dinge an das Remote-System. Allerdings bevorzugten Unternehmen wie IBM und HP einen anderen Ansatz. Ihre Terminals arbeiteten mit Bildschirmen voller Daten. Das Terminal war intelligent genug, um Formulare auszufüllen, Text auf dem Bildschirm zu bearbeiten und dann den gesamten Bildschirm in einem Zug zu versenden. Beide Systeme hatten Vor- und Nachteile, aber wie zu erwarten war, waren die bildschirmorientierten Terminals komplexer.

Es stellte sich heraus, dass das Projekt eine Menge Detektivarbeit war. Viele dieser alten Protokolle waren schlecht dokumentiert oder sogar geheim. Allerdings enthielten einige Datenblätter zu alten Schnittstellenchips einige Details und eBay hatte sogar die fraglichen Chips. Wir hatten vergessen, dass der 3270 ein 93-Ohm-Koaxialkabel verwendet, aber wir wussten nie, warum sie diesen besonderen Wert gewählt haben.

Es stellte sich heraus, dass es zwei verschiedene Arten von Terminals gab. Man benötigte einen sehr hochentwickelten Controller, der die meiste Arbeit erledigte. Der andere erledigte die meiste Arbeit vor Ort. In jedem Fall verarbeitete der Mainframe nur die verarbeiteten Daten. Glücklicherweise dokumentiert [lowobservable] seine Erkenntnisse auf GitHub.

Zu Beginn des Projekts hat [lowobservable] eine überschüssige Terminaleinheit abgeholt. Allerdings war das Disk-Image beschädigt, sodass es nicht funktionierte. Es verfügte jedoch über eine nutzbare Diagnosediskette, die mit dem Terminal kommunizieren konnte. Dies ermöglichte eine Analyse des Datenverkehrs, die zur Beantwortung einiger Fragen beitrug.

Das Endergebnis ist ein Controller, der (noch) nicht fertig, aber funktionsfähig ist. Geplant ist auch eine FPGA-Version, die nicht auf veraltete Chips setzt.

Natürlich wünschten wir, wir hätten eine echte IBM 360. Sie könnten sich aber auch mit einer AS400 zufrieden geben.