Pakete für Turbo-Pascal: Turbo Professional und Turbo Talk

Rund um die LCL und andere Komponenten
KarlZeilhofer
Beiträge: 10
Registriert: So 18. Jun 2017, 18:36

Pakete für Turbo-Pascal: Turbo Professional und Turbo Talk

Beitrag von KarlZeilhofer »

Hallo liebe Gemeinde,

ich hoffe hier auf alte Hasen aus der Turbo-Pascal Aera zu stoßen.

Ich habe hier eine alte Anlage, die noch mit einem alten DOS-Rechner betrieben wird, worauf ein Turbo-Pascal Programm läuft.

Der ursprüngliche Entwickler weilt leider nicht mehr unter uns, und dennoch sollte diese Anlage gewartet werden. Die Quellcodes sind zum Glück alle vorhanden, jedoch nicht die zugekauften Bibliotheken.

Soweit ich das herausfinden konnte, benötigt das Programm die Bibliothek "Turbo Professional" von der Fa. "Turbo Power", welche nicht mehr existiert, und daher das Paket auch nicht mehr gekauft werden kann.
Konkret geht es um diese Units:
tpcrt,
tpstring,
tpentry1,
tppick,
tpwindow,
tpdir

Weiters braucht das Programm auch "Turbo Talk", die Unit im Quellcode heißt "ttk". Am Rechner befindet sich die Datei ttalk.com, eine Binärdatei, in der man per HexEditor den String "Turbo Talk Version 2.56" findet. Von daher hab ich das abgeleitet.

Es kann durchaus sein, dass ich falsch liege. Fakt ist, dass sich der Kompiler über die fehlenden Units beschwert.
Vielleicht ist hier jemand, der mit diesen Bibliotheken gearbeitet hat, und mir somit irgendwie weiterhelfen kann.

LG, Karl

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Pakete für Turbo-Pascal: Turbo Professional und Turbo Ta

Beitrag von mse »

Ich würde zusätzlich auch auf der Free Pascal Mailinglist fragen:
http://lists.freepascal.org/mailman/lis ... pc-pascal/

creed steiger
Beiträge: 957
Registriert: Mo 11. Sep 2006, 22:56

Re: Pakete für Turbo-Pascal: Turbo Professional und Turbo Ta

Beitrag von creed steiger »

das wird wohl schwierig werden, so alt wie das ist

https://www.computerwoche.de/a/turbo-ta ... lo,1164665

Mathias
Beiträge: 6193
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Pakete für Turbo-Pascal: Turbo Professional und Turbo Ta

Beitrag von Mathias »

Die Quellcodes sind zum Glück alle vorhanden,

Wie komplex ist das Programm ?
Unter Umständen kann man es auf FPC/Lazaurs umschreiben.
Was ich sicher sagen kann, man kann mit FPC auch 8088 kompatibel programmieren.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
W126
Lazarusforum e. V.
Beiträge: 53
Registriert: Mo 27. Jul 2015, 11:19
OS, Lazarus, FPC: Linux
CPU-Target: Xeon Silver x64
Wohnort: Hofheim am Taunus

Re: Pakete für Turbo-Pascal: Turbo Professional und Turbo Ta

Beitrag von W126 »

Die sind jetzt Open Source https://sourceforge.net/projects/tpopro

Jole
Beiträge: 114
Registriert: Fr 4. Jul 2014, 14:39
OS, Lazarus, FPC: Linux
CPU-Target: amd64

Re: Pakete für Turbo-Pascal: Turbo Professional und Turbo Ta

Beitrag von Jole »

Was die Unit's tpcrt und Co. angeht, lade dir hier die ZIP-Datei "TPRO5.ZIP" runter. Im Verzeichnis UNIT findest du alle diese Dateien. Die Turbo Talk ist aber nicht dabei!

AndreasMR
Beiträge: 98
Registriert: Di 4. Aug 2015, 15:29
OS, Lazarus, FPC: Linux, Raspbian, Windows
CPU-Target: 64/32 Bit

Re: Pakete für Turbo-Pascal: Turbo Professional und Turbo Ta

Beitrag von AndreasMR »

Hallo Karl,

herzlich Willkommen in unserem Forum!

Zui Deiner Frage kann ich jetzt nichts beitragen.

Aber: Du betreibst eine alte Anlage mit einem alten DOS-Rechner mit einer Software, die seit Jahren nicht mehr aktualisiert wurde, die auf einem System entwickelt wurde, das heute auch nicht mehr wirklich zum Gängigen gehört.

Worauf ich hinaus möchte: Was machst Du, wenn der DOS-Rechner die Grätsche macht? Hast Du ein System, auf dem die gleiche Software zum Laufen gebracht werden kann, und sich mit Deiner alten Anlage verträgt?

Bei einem Kunden hatten wir einen vergleichbaren Fall. Da diente ein Win95-Rechner mit einer antiken selbstgeschriebenen Software (DOS-Ära), um bestimmte Speicher zu beschreiben, die dann in Instrumente eingebaut wurden. Der Programmierer war schon lange nicht mehr im Konzern beschäftigt. Es gab eine Initiative zur Erhöhung der Ausfallsicherheit dieses Gesamtsystems. Der IT ist es nicht gelungen, diese Software auf einem PC mit aktuellem Betriebssystem (damals Win 7) zum Laufen zu bringen. Dann gab es eine Rundmail, wer denn noch einen Win 95-Rechner zuhause habe. Die Kollegen, die sich meldeten, wurden gebeten, die Teile nicht auszumustern.
Was meinst Du, wie groß die Wahrscheinlichkeit sein könnte, den PC in einem Totalausfall gleichwertig zu ersetzen? Oder bei Ausfall einzelner Komponenten bis hin zum Motherboard? Es wird wohl kaum Ersatzteile geben. Selbst neue Festplatten dürften nicht mehr über Adapter-Adapter-Adapter passend gemacht werden können.


Beste Grüße

Andreas
Ubuntu 14.04 LTS / Raspbian / Windows: Lazarus ab 0.9 bis 3.0

KarlZeilhofer
Beiträge: 10
Registriert: So 18. Jun 2017, 18:36

Re: Pakete für Turbo-Pascal: Turbo Professional und Turbo Ta

Beitrag von KarlZeilhofer »

Vielen Dank für den freundlichen Empfang und die prompte Hilfe!
Besonderen Dank an Jole für den Link zu Turbo Professional.

Dass das System alt ist, und anfällig für Hardwareausfälle ist uns allen klar. Der Plan ist es, die SW auf ein neueres System zu portieren. Dazu muss ich aber erst einmal den alten Code wieder compilieren können und dann Stück für Stück portieren.

Der Code umfasst insgesamt 700kB Turbo Pascal und 200kB Assembler für 386er. Den neu schreiben zu müssen, würde den Rahmen komplett sprengen.

Vorerst geht es einmal um die Machbarkeitsprüfung. Ohne Bibliotheken würd das aber schon von vornherein scheitern.

Nun geht es "nur" mehr um die Turbo Talk Bibliothek...

LG, Karl

braunbär
Beiträge: 369
Registriert: Do 8. Jun 2017, 18:21
OS, Lazarus, FPC: Windows 10 64bit, Lazarus 2.0.10, FPC 3.2.0
CPU-Target: 64Bit
Wohnort: Wien

Re: Pakete für Turbo-Pascal: Turbo Professional und Turbo Ta

Beitrag von braunbär »

@Andreas
So dramatisch ist das nicht. Es kommt darauf an, was die Software genau macht. Ich habe noch eine ganze Reihe Kunden, die immer noch meine alte Turbo-Pascal-3 (!) Software verwenden und einen Umstieg auf jedes andere System verweigern - zumindest solange ich bei Bedarf verfügbar bin. Die Software läuft halt heute in einer Dosbox oder besser in einer virtuellen Windows 7 32bit Maschine. Wenn du spezielle Hardwarezugriffe brauchst, kann es natürlich Probleme geben.

KarlZeilhofer
Beiträge: 10
Registriert: So 18. Jun 2017, 18:36

Re: Pakete für Turbo-Pascal: Turbo Professional und Turbo Ta

Beitrag von KarlZeilhofer »

Ich hab nun mal Herrn Thomas Lauer ( http://thomaslauer.com/start/ ) angeschrieben, der vermutlich zur damaligen Lauer & Wallwitz GmbH gehöte. Mal schaun, was zurückkommt.

LG, Karl

wp_xyz
Beiträge: 4885
Registriert: Fr 8. Apr 2011, 09:01

Re: Pakete für Turbo-Pascal: Turbo Professional und Turbo Ta

Beitrag von wp_xyz »

W126 hat geschrieben:Die sind jetzt Open Source https://sourceforge.net/projects/tpopro

Das war vielleicht mal so geplant, aber inzwischen sind alle Dateien vom Server entfernt worden. Der Link ist wertlos.

KarlZeilhofer
Beiträge: 10
Registriert: So 18. Jun 2017, 18:36

Re: Pakete für Turbo-Pascal: Turbo Professional und Turbo Ta

Beitrag von KarlZeilhofer »

Hier die Antwort von Herrn Lauer:

Guten Tag Herr Zeilhofer,

Ihre Annahme ist korrekt. Allerdings kann ich Ihnen nicht weiterhelfen,
wir haben zwar einiges im Archiv, aber TT gehört nicht dazu. Sie könnten
einen Zufallsfund landen, wenn Sie in allen möglichen und unmöglichen
Foren posten, aber ich halte es für sehr unwahrscheinlich, daß es Ihnen
gelingt, noch eine Kopie aufzutreiben. Viel Glück...

T Lauer


Soweit, soschlecht.

Ich bin nun dabei, mal die Unit selbst zu "erstellen" damit das Projekt wieder mal kompilieren kann.
Die Bibliothek wird für 2 Serielle Schnittstellen verwendet, hier die benötigten Funktionen und Prozeduren:

Code: Alles auswählen

 
UNIT TTK;
 
INTERFACE
 
Procedure ttsetpar(pnum:Integer;enumBaud:Integer; enumParity:Integer;
  dataBits:Integer; stopBits:Integer; spezial1:Integer; spezial2:Integer);
 
Procedure ttopen(pnum:Integer;pGetBuf:^Byte;getBufLen:Integer;
  pPutBuf:^Byte;putBufLen:Integer;const1:Integer;const2:Integer);
 
{Parameter b1,b2,b3 unklar}
Procedure ttsetstat(pnum:Integer;b1:Boolean;b2:Boolean;b3:Boolean);
 
Procedure ttputch(pnum:Integer;ch:Char);
Procedure ttputst(pnum:Integer;pStr:^String;len:Integer;start:Integer;endChar:Char);
  
Function ttsizget(pnum:Integer) : Integer;
Procedure ttgetch(pnum:Integer;VAR ch:Char); {ch enthaelt den rueckgabewert}
 
Procedure ttclose(pnum:Integer;b1:Boolean;b2:Boolean);
 
 

(der Code wurde dem Kompiler noch nicht vorgesetzt, kann sein, dass hier viele Syntaxfehler drin sind, da für mich Turbo Pascal völliges Neuland ist. )

Hat hier vielleicht jemand einen Hinweis für mich, wie man die Funktionalität der Unit mit einer anderen Bibliothek nachahmen zu könnte?
Scheinbar ist Turbo Talk nicht ganz so weit verbreitet, die Ansteuerung der RS232 aber sicherlich schon.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Pakete für Turbo-Pascal: Turbo Professional und Turbo Ta

Beitrag von af0815 »

synaser http://synapse.ararat.cz/doc/help/synaser.html ansehen, vielleicht kannst mit dem weiterkommen. Synaser liegt im Sourcecode vor und ist sicherlich ein guter Anfang um dein Problem zu lösen. Das einzige was Probleme machen kann, ist wenn auf Betriebssystemroutinen zurückgegriffen werden. Ich nehme an dein recovertes Projekt wird unter DOS (Emulation) laufen.

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

KarlZeilhofer
Beiträge: 10
Registriert: So 18. Jun 2017, 18:36

Re: Pakete für Turbo-Pascal: Turbo Professional und Turbo Ta

Beitrag von KarlZeilhofer »

af0815 hat geschrieben:synaser http://synapse.ararat.cz/doc/help/synaser.html ansehen, vielleicht kannst mit dem weiterkommen. Synaser liegt im Sourcecode vor und ist sicherlich ein guter Anfang um dein Problem zu lösen. Das einzige was Probleme machen kann, ist wenn auf Betriebssystemroutinen zurückgegriffen werden. Ich nehme an dein recovertes Projekt wird unter DOS (Emulation) laufen.

Andreas


Laufen tut das Programm derzeit auf einer DOS-Maschine, Pentium-MMX mit 233MHz, 32MB RAM, 4GB HDD.
"Entwickeln" tu ich momentan in einer Virtuellen Maschine. Kann Turbo Pascal 6 überhaupt Klassen verwenden?

Ich glaub, dass der Hauptvorteil der Turbo-Talk Unit der ist, dass sie einen großen Schreib- und Lesepuffer ermöglicht. Im Programm werden Puffer mit ca. 2000 und 1500 Zeichen angelegt. Ein DOS-Treiber kümmert sich vermutlich um die Befüllung der Puffer. Im Programm wird alles, was die RS232 anbelangt, über Polling gemacht.

Was ich auch noch habe ist die ttalk.com Datei. Diese richtet angeblich die Treiber auf DOS ein. Leider hab ich keine weitere Dokumentation dazu, und die Hilfe-Ausgabe ist auch recht spärlich, siehe Anhang.
Wenn man diesen Treiber direkt ansteuern könnte, wär vermutlich das gröbste geschafft. Doch ohne Doku scheint mir das eher unmöglich.
Dateianhänge
2017-06-22_002.png
2017-06-22_002.png (3.79 KiB) 3049 mal betrachtet

wp_xyz
Beiträge: 4885
Registriert: Fr 8. Apr 2011, 09:01

Re: Pakete für Turbo-Pascal: Turbo Professional und Turbo Ta

Beitrag von wp_xyz »

Auf der Diskette zu einem Turbo Pascal-Buch gibt es einen Ordner zum Programmieren der seriellen Schnittstelle. Wenn's dich interessiert, schicke mir eine PN mit deiner E-Mail-Adresse und ich lasse dir die Dateien zukommen. Vielleicht kannst du ja darauf aufbauend die benötigten Funktionen nachbilden.

Antworten