Turbo Basic Problem

Hallo,

ich hab ein riesen Problem. Ich muss eine Altanwendung ablösen, zum Glück liegt der Quelltext vor. Und zwar TurboBasic (DOS). Um ein wenig besser zu analysieren was das Teil macht habe ich mit TB besorgt. Ich kann die Dateien auch laden (6 Dateien, insgesamt 250k, eine Datei die die anderen included). Tja, nun mein Problem: Der Compiler verweigert mit Out of Memory nach kurzer Compilierung seinen Dienst. Komplett als 1 Datei laden geht natürlich auch nicht (file too large).

Kann man da was tun? Wer erinnert sich noch daran? Kann man das in einem zeitgemäßen Basic-Compiler überhaupt noch laden (QuickBasic hat sich beispielsweise geweigert zu compilieren, dort scheitert es schon am ersten Befehl $include)

Michael

Hallo,

ich hab ein riesen Problem. Ich muss eine Altanwendung
ablösen, zum Glück liegt der Quelltext vor. Und zwar
TurboBasic (DOS). Um ein wenig besser zu analysieren was das
Teil macht habe ich mit TB besorgt. Ich kann die Dateien auch
laden (6 Dateien, insgesamt 250k, eine Datei die die anderen
included). Tja, nun mein Problem: Der Compiler verweigert mit
Out of Memory nach kurzer Compilierung seinen Dienst.

bei alten DOS-Programmen besteht oft das Problem, daß nur die 64K Speicher (wie hiess der doch gleich?) verwendet werden können. Läuft Windows, verwendet das Teile davon und dem Programm bleibt nicht genug.

Das Problem ist IMO am einfachsten zu lösen, wenn Du den Rechner mit DOS bootest.

Ist das Programm denn sehr groß? Wenn der Quellcode vorliegt, ließe sich das Programm doch mit einem aktuellen Basic neu schreiben, das geht vermutlich am schnellsten und bequemsten. Eventuell reicht ja sogar VBS?

Gruß, Rainer

Tja, nun mein Problem: Der Compiler verweigert mit
Out of Memory nach kurzer Compilierung seinen Dienst.

In was für einen Umgebung lässt du den Compiler laufen? Echtes Dos, in einer Emulation oder unter Windows? In beiden letzteren Fällen wirst du dem Programm Erweiterungs- oder Expansionsspeicher zuweisen müssen, sonst arbeitet TB mit nicht mehr als 640 kb. In der DOSBox http://dosbox.sourceforge.net/ sollte TB einwandfrei laufen.

HTH
Schorsch

In was für einen Umgebung lässt du den Compiler laufen? Echtes
Dos, in einer Emulation oder unter Windows? In beiden
letzteren Fällen wirst du dem Programm Erweiterungs- oder
Expansionsspeicher zuweisen müssen, sonst arbeitet TB mit
nicht mehr als 640 kb. In der DOSBox
http://dosbox.sourceforge.net/ sollte TB einwandfrei laufen.

Hi,

versucht hab ich: WinXP Kommandozeile
Echtes DOS (in VMWare installiert) (extra noch Disketten rausgekramt :smile: )

DOSBox probier ich morgen noch…

Weitere Tipps?

Michael

Ist das Programm denn sehr groß? Wenn der Quellcode vorliegt,
ließe sich das Programm doch mit einem aktuellen Basic neu
schreiben, das geht vermutlich am schnellsten und bequemsten.
Eventuell reicht ja sogar VBS?

Nur 250k ungefähr (9500 Quelltextzeilen), aber sowas von grausig :smile:
Goto und Gosub soweit das Auge reicht. Geschrieben werden soll (und wird es) mit Java, der bisherige Anwender braucht jedoch die (seeeehr umfangreichen) Formeln wieder und hat keine Doku was da gerechnet wird. Deswegen wollt ichs ja zum besseren Verständnis zum laufen kriegen. Doku ist eher Mangelware und die Variablennamen sind… lassen wir das (ax, pdel, pmax, … und davon bestimmt huntert breit gestreut)

Michael

Hallo,

ich hab ein riesen Problem. Ich muss eine Altanwendung
ablösen, zum Glück liegt der Quelltext vor. Und zwar
TurboBasic (DOS). Um ein wenig besser zu analysieren was das
Teil macht habe ich mit TB besorgt. Ich kann die Dateien auch
laden (6 Dateien, insgesamt 250k, eine Datei die die anderen
included). Tja, nun mein Problem: Der Compiler verweigert mit
Out of Memory nach kurzer Compilierung seinen Dienst. Komplett
als 1 Datei laden geht natürlich auch nicht (file too large).

[Compile] => [Destination] => [EXE File]

Was ist das für ein Quelltext? Möglicherweise
in PowerBasic 3.x entwickelt? Das kann viel
größere Programme verkraften als TurboBasic.

Grüße

CMБ

Hallo,

Nur 250k ungefähr (9500 Quelltextzeilen),

für 'n Basic Programm schon recht viel.

aber sowas von grausig :smile:
Goto und Gosub soweit das Auge reicht.

Das war damals normal. Bei den Möglichkeiten war Gosub ja die einzige Chance, den selben Code nicht zu oft schreiben zu müssen.

Geschrieben werden soll
(und wird es) mit Java, der bisherige Anwender braucht jedoch
die (seeeehr umfangreichen) Formeln wieder und hat keine Doku
was da gerechnet wird. Deswegen wollt ichs ja zum besseren
Verständnis zum laufen kriegen.

Ahhh, verstanden. Da hilft wohl am Besen ein älterer Rechner und den mit einem alten DOS zu booten.

Doku ist eher Mangelware und
die Variablennamen sind… lassen wir das (ax, pdel, pmax, …
und davon bestimmt huntert breit gestreut)

Da bleibt mir nur noch, Dich zu bedauern. Ohne Debugger wird das eine mörderische Arbeit.

Gruß, Rainer

Hallo
Wenn es mal geklappt hat, warum denn nicht noch einmal.
Im dos oder im dos Fenster hat man im allgemeinen 640 kB - davon vielleicht 80 kb für Treiber und ähnlichem. Hier ist es z.B. wichtig, wo die Treiber hin geladen werden. Man kann sich eine Doku für autoexec.bat und config.sys suchen, wie es für Dos wichtig war.
Beim Dos gibts noch Erweiterungsspeicher(z.B. XMS) bis je nach Version von bis zu ca. 64MByte. Hier ist dann aber die Frage, ob das der Basic Linker oder Compiler auch macht.
Beim Power Basic weiß ich, das recht große Programme kompiliert werden konnten. Aber Dein Programm ist wirklich recht groß.
Es gibt vielleicht auch irgendetwas mit object-files oder andere Binärdateien, welche zusammengelinkt werden können, hier muß ich auf das Manual verweisen.
Mit vb-Script kann man ganz gut in Basic programmieren, es gibt sogar ein Gosub und ein Goto.
VbScript hat auch den Vorteil, relativ leicht nach JavaScript portiert zu werden. Es gibt bei JavaScript allerdings kein Goto oder Gosub. Da müssen Funktionen her und z.B. globale(überall gültige) Variablen verwendet oder übergeben werden.
Im allgemeinen muß man deutlich sagen, das es vorteilhaft ist, wenn man die Möglichkeit hat, das Programm nacheinander in Teilen zur Funktion zu bringen.
Hilfreich könnte auch ein Textverarbeitungsprogramm sein, welches eine bestimmte immer wiederkehrende Syntax gegen die gewünschte neue austauschen kann. Eine elektronische Referenz der Sprachen ist etwas schneller als ein normales Handbuch.
Ein Tool welches 8 bzw. 16-Bit Programme leicht nach 32 Bit portiert, vermisse ich auch, zumal ich das erwähnte Power Basic habe und noch schlimmer ein 16 Bit Dos Forth System.
MfG
Matthias

Hallo,

[Compile] => [Destination] => [EXE File]

Dann hängts an der gleichen Stelle aber mit Error File Access irgendwas

Was ist das für ein Quelltext? Möglicherweise
in PowerBasic 3.x entwickelt? Das kann viel
größere Programme verkraften als TurboBasic.

Versuch ich mal rauszubekommen. PowerBasic ist aber noch nicht frei zu haben, richtig? Mal sehn ob die in der Firma sowas rumliegen haben.

Danke schonmal.

Allen anderen sei gesagt, DOS-Speicher ist optimiert bis zum geht nix (fast leere Config.sys und autoexec.bat) Laut Speicheranzeige hat aber Turbobasic nur 378k frei (da kann man ne Konsole öffnen)

Ich suche weiter…

Michael

Hallo,

Versuch ich mal rauszubekommen. PowerBasic ist aber noch nicht
frei zu haben, richtig? Mal sehn ob die in der Firma sowas
rumliegen haben.

Weiss ich nicht; ich habe es vor xx Jahren mal
gekauft und nicht bereu :wink:

Allen anderen sei gesagt, DOS-Speicher ist optimiert bis zum
geht nix (fast leere Config.sys und autoexec.bat) Laut
Speicheranzeige hat aber Turbobasic nur 378k frei (da kann man
ne Konsole öffnen)

Mein Power Basic 3.1 meldet:
[Compile]=>[Get Info]

 Main: 96K
 Ems: 0K Total Compiler memory: 1008K
 Xms: 912K Free Compiler memory: 1008K

Und zwar einfach „unter XP angeklickt“, ohne
irgendwelche Einstellungen.

Grüße

CMБ

Statusbericht :frowning:
Es wird wohl nix. Wir hatten tatsächlich noch ein PowerBasic 7 rumliegen. Nur der erkennt den BASIC-Dialekt schon gar nicht und moniert am Quelltext rum.

Dann bleibt wohl die jetzt schon angefangene Methode. Der Praktikant versucht was rauszufinden…

Trotzdem danke für die Vorschläge

Michael

Re: Statusbericht :frowning:
Hallo,

Es wird wohl nix. Wir hatten tatsächlich noch ein PowerBasic 7
rumliegen. Nur der erkennt den BASIC-Dialekt schon gar nicht
und moniert am Quelltext rum.

Da kann was nicht stimmen. PowerBasic gibts nur bis 3.x
und es ist absolut kompatibel zu Turbo Basic. Die
Version mit 7.x ist QuickBasic von Microsoft mit
tatsächlich ziemlich unterschiedlichen Befehlen.

http://en.wikipedia.org/wiki/QuickBASIC
(ganz unten, „see also“)

Grüße

CMБ