Hallo Leute,
ich benutze bisher und auch weiterhin das 16 Bit SDK, weil es a) bestimmte Optionen (Compiler-Flags) bietet, die der 32Bit-Compiler
von Borland nicht hat und weil man b) im laufenden Rennen (R-BASIC Projekt) nicht die Pferde wechseln sollte. Das 16 Bit SDK erfordert aber ein 32 Bit Windows. Da Windows 7 ausgelaufen ist, ist man letztlich gezwungen auf Windows 10 umzusteigen. Zum Glück geht das noch kostenlos und erstaunlich problemlos. Auf meinem Haupt-PC mit i5 und SSD war das in weniger als einer Stunde erledigt.
Zum Compilieren starte ich die Konsole (cmd.exe) und setze per Batch-Befehl alle nötigen Pfade und Umgebungsvariablen.
Win 10, 32 Bit
Unter Win 10, 32 sollten die 16 Bit SDK Tools eigentlich laufen. Das tun sie auch, wenn man 2 Dinge macht.
1. NTVDM aktivieren. Das hat bei mir beim ersten Compileraufruf Windows selbst erledigt (mit Nachfrage), man kann es aber auch unter
"Programme und Features" -> "Legacykomponenten" selber tun.
Trotzdem bekommt man noch die kryptische Fehlermeldung "4001h". Folglich muss man
2. Den Legacymodus für die Konsolen aktivieren. Dazu klickt man mit der rechten Maustaste auf die Titelzeile des Konsolenfensters,
wählt "Eigenschaften" und setzt dort ganz unten das Häkchen bei "Legacy Konsole verwenden". Nach einem Neustart des Rechners läuft
der Compiler.
Win 10, 64 Bit
Neue Rechner werden standardmäßig mit einem 64 Bit Windows ausgeliefert. Hier laufen die 16 Bit Tools nicht mehr. Es gibt hier 2
Varianten:
a) Compilieren in der DOS-Box. Man nutzt quasi die DosBox als Ersatz für die Konsole. Hier laufen alle 16 Bit Tools. Die Nachteile hier sind zum einen, dass man die DosBox echt hochtakten muss, damit die Arbeitsgeschwindigkeit vernünftig ist. Bei mir sind es 280 000 Zyklen, während GEOS mit mehr als 80 000 Zyklen anfängt zu ruckeln. Das geht bei einem Laptop mächtig auf den Akku. Zum Anderen erkennt die DosBox nicht automatisch, dass (ob) Dateien geändert wurden. Man darf also vor dem Compilieren nicht vergessen STRG-F4 zu drücken.Auf meine i7 Laptop compiliert diese Variante fast so schnell wie die oben (Win 10, 32 Bit) mit einem i5.
b) Compilieren in einem Emulator. Ich benutze VirtualBox mit installiertem XP. Diese Variante läuft bei mir nur dann, wenn PCGEOS selbst und auch der Sourcecode in der Virtuellen Maschine liegen. Ich arbeite also komplett in der virtuellen Maschine. Versuche ich den Sourcecode und / oder PCGEOS über ein Gastlaufwerk einzubinden (sie liegen dann direkt auf dem Host), bekomme ich Fehlermeldungen. Insbesondere meldet mkmf "No source file in directory".
Toll finde ich diese Lösung nicht, zumal ich GEOS in dervirtuellen Maschine unter XP nicht zum Laufen bekommen habe und man daher das compilierte Programm immer erst auf den Host kopieren muss, wo dann GEOS (in der DosBox) läuft.
Letztlich gibt es nach meinen Erfahrungen aus der Frage heraus "Kann ich dort auch compilieren?" keinen objektiven Grund nicht auf Windows 10 umzusteigen. Unter Win 10, 64 Bit ist es etwas unkomfortabel, aber das Risiko eines unsicheren Systems ist es nach meiner Meinung nicht wert.
Theoretisch sollten die beide Win 10-64 Varianten auch unter Linux gehen.
Wenn das "NewSDK" erst einmal läuft wird eswahrscheinlich / hoffentlich alles noch einmal einfacher.
Soweit mein Erfahrungsbericht
Viele Grüße
Rainer