Sie sind nicht angemeldet.

1

Freitag, 7. Februar 2020, 18:33

16 Bit SDK unter Windows 10 - Ein Erfahrungsbericht

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
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

2

Freitag, 7. Februar 2020, 22:20

SDK unter Linux

Hi,

ich nutze unter Linux den DOSEMU2 und compiliere mit meinem ollen OmniGo-SDK. Funktioniert sehr gut und brauche kein virtuelles Laufwerk. Quelltexte bearbeite ich direkt unter Linux mit Geany, einem Programmier-Editor. Nach dem kompilieren kann ich sofort GEOS im DOSEMU2 starten und das Programm ausprobieren.

Viele Grüße

Uli
Ulrich Cordes

>>> Je weniger WINDOWS um so besser. <<< :D

3

Samstag, 8. Februar 2020, 12:47

Rainer hat die unter Windows 10 bestehenden Möglichkeiten sehr gut beschrieben.

Wer Geos "nur" anwenden möchte, hat mit der DosBox eine recht flotte Lösung.

Um für Geos zu entwickeln, braucht man neben dem Compiler auch den Debugger Swat, ein Target und die Kommunikation zwischen beiden. Dazu habe ich mir die verschiedenen Virtualisierer mit Windows XP als VDM angesehen.
Hier meine Erfahrung: Es macht keinen Spaß! Beim Start von Ensemble kann man beim Zeichnen der Grafikelemente zusehen :( .
Mir bleibt also wie bisher nur die Lösung mit einem reellen Windows XP. Dazu habe ich XP auf eine 2. SSD installiert und mit EasyBCD ein Bootmenü eingerichtet. Ich benutze übrigens noch immer das einst von Andreas Bollhalder zusammengestellte NT-SDK. Das von blueway SOFTWORKS erhältliche pcgeos-sdk-win32-6.0.0.56.zip nutze ich nicht, weil die Targets nicht im Fenster laufen. Allerdings habe ich einige Header-Dateien übernommen, damit ich auch GeoDraw und GeoWrite compilieren kann.

4

Samstag, 8. Februar 2020, 19:58

Mit swat habe ich keine so schlechten Erfahrungen gemacht. Ich benutze die oben angesprochene XP Installation unter Oracle VirtualBox. Das Target liegt auf der VM und läuft mit normaler Geschwindigkeit. Bei Malen der Grafikelement kann ich nur zusehen, wenn ich wirklich ALLE ecfalgs aktiviert habe. Das mache ich aber nur selten, wenn ich einen hartnäckigen "zufälligen" Fehler suche. Die normalen Fehlen findet er auch so.
Übrigens klappt beim swatten der Zugriff auf den Host problemlos. Sowohl PCGEOS als auch der Sourcecode liegen weiterhin auf dem Host. Ich muss also nur die GEO-Datei (und ggf eine R-BASIC Datei) in die VM kopieren. Das mache ich per Batch. Insgesamt ist das also sehr komfortabel.
Für mich war es insgesamt sehr erfreulich, dass ich beim Umstieg von Win7, 32 Bit auf Win 10, 32 Bit ohne Aufwand ganz normal weiterarbeiten konnte.
Leider hat Oracle mit der Version 6 die Unterstützung von 32 Bit aufgegeben. Man profitiert also nicht mehr von (eventuellen) Verbesserungen und sollte den 5.2 Installer nicht wegschmeißen ;-)

Gruß
Rainer
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

5

Sonntag, 9. Februar 2020, 18:02

Hallo Rainer,

was meinst du mit "Leider hat Oracle mit der Version 6 die Unterstützung von 32 Bit aufgegeben"? Ich hab die Version 6.1 installiert Und XP als VM. Ensemble läuft (zäh wie schon beschrieben), das Target nicht.

Gruß
Wilfried

6

Sonntag, 9. Februar 2020, 19:44

was meinst du mit "Leider hat Oracle mit der Version 6 die Unterstützung von 32 Bit aufgegeben"?

So steht es auf der Oracle Webseite:
"If you're looking for the latest VirtualBox 5.2 packages, see VirtualBox 5.2 builds. Please also use version 5.2 if you still need support for 32-bit hosts, as this has been discontinued in 6.0. Version 5.2 will remain supported until July 2020. "

DeepL: "Wenn Sie nach den neuesten VirtualBox 5.2-Paketen suchen, sehen Sie unter VirtualBox 5.2-Builds nach. Bitte verwenden Sie auch Version 5.2, wenn Sie noch Unterstützung für 32-Bit-Hosts benötigen, da diese in 6.0 eingestellt wurde. Version 5.2 wird bis Juli 2020 unterstützt bleiben."

Bei mir läuft Virtual Box 5.2 unter Win 10, 32 Bit. 1024x768 Pixel, 16 Bit Farbtiefe (Das ist wichtig, sonst geht es nicht!) In der GEOSEC.INI steht

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
[screen 0]
device = VESA Compatible SuperVGA: 800x600 64K-color
driver = vga16ec.geo

[mouse]
device = GDI pointer
driver = EC Generic Mouse Driver
info = 0

[keyboard]
device = GDI Keyboard
driver = gdikbdec.geo
altGr = TRUE

Gruß
Rainer
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

7

Montag, 10. Februar 2020, 09:10

Hallo Rainer

> if you still need support for 32-bit hosts

Ist hier eventuell gemeint, dass die neuen Versionen von Virtual Box nicht mehr auf einem 32-bit "Host" (bei Dir Win10) installiert werden kann, aber 32-bit "Gäste" (bei Dir WinXP) immer noch darin laufen sollten ?

Sinn würde für mich folgendes machen:
  • 32-bit Host mit 32-bit Gast -> Version 5.2 oder älter
  • 64-bit Host mit 32 oder 64-bit Gast -> Version 6.0 oder neuer
Aber ich muss zugeben, ich habe schon viele Jahre nicht mehr mit VirtualBox gearbeitet.

Gruss
Andreas

8

Montag, 10. Februar 2020, 10:44

Meine aktuelle Konfiguration<.


Virtual Box 6.1, Win10 64Bit als Host, XP 32Bit als Guest
Ensemble läuft, Targets nicht

9

Montag, 10. Februar 2020, 13:06

Habe gerade auf meinem Produktiv-Rechner (Dual-Boot XP/Win10 32) unter Win10 VirtualBox 5.2 und XP als Guest installiert: Ensemble läuft, Targets nicht ("NTVDM hat ein Problem festgestellt und …).
Die Farbtiefe kann ich nicht einstellen, für alle Auflösungen gilt: 32 Bit Farbtiefe.
Ich verstehe nicht, warum die Farbtiefe von Windows wichtig sein soll, mein reelles Windows XP hat ebenfalls 32 Bit Farbtiefe bei 2560 x 1440. Dort läuft alles, wie es soll.

10

Montag, 10. Februar 2020, 15:45

Beim N9110-NT-SDK gab es einen NTVDM-Treiber, der unabhängig von der Windows-Farbtiefe war. Allerdings läuft Geos damit nur im 2-Farb-S/W-Modus.
:D It pulls like pike-soup. Hence, I understand only train-station. :D

11

Montag, 10. Februar 2020, 16:59

Hallo,
Ist hier eventuell gemeint, dass die neuen Versionen von Virtual Box nicht mehr auf einem 32-bit "Host" (bei Dir Win10) installiert werden kann, aber 32-bit "Gäste" (bei Dir WinXP) immer noch darin laufen sollten ?

Genau so habe ich es verstanden. Anders macht es für mich auch keinen Sinn.

Zitat

Ich verstehe nicht, warum die Farbtiefe von Windows wichtig sein soll,
Ich auch nicht. Ist aber so. Liegt wahrscheinlich an den GDI-Treibern. Bei 32 Bit Farbtiefe startet das Target, das Fenster bleibt aber grau.

Wenn man mit der rechten Maustaste klickt und dann unter Anzeige - Einstellungen - Erweitert - Grafikkarte -Alle Modi auflisten finde ich viele 16 Bit Modi. Du nicht?
... Ich merke Gerade, dass Virtual Box 5.2 die 16 Bit Modi nicht dauerhaft behält. Nach einem Neustart sind es immer wieder 32 Bit.

Gruß

Rainer
Nachtrag. Hab gerade ein bisschen gegoogelt. hast du die Gasterweiterungen installiert?
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

12

Montag, 10. Februar 2020, 18:24

Du meinst das Extension Pack? Ja, hab ich.

Ich kann unter vielen Auflösungen wählen, aber alle werden mit 32 Bit Tiefe angegeben.

13

Mittwoch, 12. Februar 2020, 11:38

Hatte nicht Markus Gröber den GDI-Treiber angepasst, damit dieser auch unter anderen Farbtiefen funktioniert ?

14

Mittwoch, 12. Februar 2020, 18:25

Ich habe VirtualBox auf 5 verschiedenen Rechnern ausprobiert: 2 Desktops mit Win10/32 und 3 Notebooks mit Win10/64. Auf meinem neuesten Notebook (uefi) wollte XP gar nicht booten.
Auf den anderen Rechnern wurde XP als VM installiert. Ensemble startete darin problemlos, die Targets gar nicht.

Rainer: Bei dir läuft ja das Target in der XP-VM, aber nicht im Fenster oder?

15

Freitag, 14. Februar 2020, 11:54

VirtualBox ist anscheinend nicht in der Lage, die Targets im Fenster von XP laufen zu lassen.
Ich hab jetzt mal die Targets aus pcgeos-sdk-win32-6.0.0.56.zip getestet. Auf meinem Hauptrechner laufen sie in der VirtualBox (fast) problemlos (im Vollbild), unabhängig von der Auflösung und Farbtiefe von XP. So lässt sich vermutlich die komplette Entwicklungsumgebung des SDK in der VM realisieren, allerdings muss man auf die komfortablere 2-Fenster-Lösung verzichten.

16

Freitag, 14. Februar 2020, 14:26

Ich hab mal ein Bild drangehängt.
»Rainer« hat folgende Datei angehängt:
  • XP_swat.jpg (135,64 kB - 445 mal heruntergeladen - zuletzt: Heute, 12:53)
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

17

Freitag, 14. Februar 2020, 15:56

Ist ja verrückt.
Aber es kann doch nicht Glücksache sein, ob es auf dem einen Rechner geht und auf dem anderen nicht?

18

Samstag, 15. Februar 2020, 11:28

Das Konzept hinter einer virtuellen Maschine ist eigentlich, dass genau das NICHT passieren soll. :huh:
Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

hanslse

Fortgeschrittener

Beiträge: 201

Beruf: Daten-Koordinator

  • Nachricht senden

19

Montag, 17. Februar 2020, 12:58

There are a lot of aspects to have in mind. XP is a old version of Windows works with BIOS based laptops. One thing to check is if it is possible to switch to BIOS from UEFI. Some computers/laptops have CSM mode, some not. Could be a good thing to check before purchase. The supercheap laptops does often not have CSM, however, to my surprise I got a dead cheap (€200) Lenovo, with CSM. So there are bargains out there, but it is related to some work.

My experience is, that Micorsoft Windows is Microsoft Windows. If you install Windows on two identical computers, the probability is that the installations are a bit different is high. I have encountered this myself, many times. So installing MS Windows is a delicate thing.I would advice anyone when installing a computer important for work, to verify every step. The first thing to do, after MS Windows is installed, is to check and verify if all the drivers are installed correctly. Then check the softwares one by one. Sorry, to say, but this is is the only way to see that everything is correctly installed. It could be a challenge, but worth it in the long run.

Hans

Thema bewerten