Wie man ein PASCAL-Programm portiert
PASPORT erleichtert das Portieren von grafischen DOS-Pascal-Programmen
auf Linux/c++/SDL. Es benoetigt die Bibliotheken SDL und SDL_gfx. Der
Vorteil liegt darin, dass die PASCAL-Funktionen sowie die
Programmstrukturen erhalten bleiben.
Um ein Programm zu portieren, muss
- die PAS-Datei in eine cpp umbenannt werden.
- der Header pasport.h eingebunden werden
- die Syntax etwas umgestellt werden
- das Programm mit pasport.cpp zusammen compiliert werden
Schritte 1, 2 und teilweise 3 uebernimmt das Script pasport.tcl (ohne
weitere Syntax), Schritt 4 das Script c (Syntax: ./c [Programm]).
Kleine Unterschiede zwischen PASCAL und PASPORT
- Update
Nach jedem Aufruf einer Grafikfunktion unter PASCAL ist die
Veraenderung auf dem Bildschirm sofort sichtbar. Unter SDL ist dies
allerdings ein relativ zeitaufwaendiger Prozess, der beim Bildaufbau
Pixel fuer Pixel viel Zeit verschlingt. Durch Anhaengen von 0 als
letzten Parameter einer Grafikfunktion wird das Bildschirmupdate
verhindert. Die Funktion update() fuehrt manuell ein Bildschirmupdate
durch.
- Initgraph
Initgraph kann ohne weitere Parameter oder mit den Integerwerten fuer
x- und y-Dimension des Bildschirms aufgerufen werden. DOS-Grafik-Treiber
o.ä muessen weder mitgeliefert noch initialisiert werden.
- Groß- und Kleinschreibung
PASPORT ist natuerlich im Gegensatz zu PASCAL case sensitive. Viele
Funktionen sind in verschiedenen Schreibweisen vorhanden (siehe
pasport.h). Alle Schreibweisen (inclusive WrITelN usw.) kann ich aber
nicht beruecksichtigen.
- 3D-Funktionen
Die Funktion dddpunkt bildet einen Punkt im Raum (struct dddcoord) auf
dem Bildschirm ab.
Sie können sich gerne die benötigten Dateien herunterladen (8kB, incl.
Konverter- und Kompilier-Script und Beispiel, als .tar.bz2-Archiv für
Linux).
Hier geht's zum Autor dieses
Programms.
|