Re: OS-Plattformen
Michael Heydekamp [EMAIL PROTECTED] schrieb am 20.12.05 um 00:42: Was mir noch nicht so ganz klar ist: 1. Was ist denn case WinVersion of 1? Windows 1.x/2.x? Das kann nicht ausgegeben werden. Minimales Ergebnis ist 2 fuer Win3.xx, siehe auch clip.pas: { Rueckgabe: 2 = Win 3.xx, 3 = Win95/98/ME/..., 4 = WinNT/2k/XP/... } 2. Ich bin nicht sicher, ob die Reihenfolge in 'writever' eine Rolle spielt. Muss die OS/2 = Linux = Win lauten? Oder ist sichergestellt, dass 'WinVersion' wirklich immer 0 zurueckgibt, wenn es kein Windows ist? WinVersion ist immer 0, wenn kein Windows. DOSBOX kann ich im Moment noch nicht beruecksichtigen, weil der Code in meiner Arbeitsumgebung noch nicht drin ist. Zu DOSBOX gibts dies in Clip.pas: Function AT : Boolean; { in: - } {out: True/False, if the machine is (at least) an AT} begin AT := MEM[$F000 : $FFFE] = $FC; end; function DOSBOX: boolean; begin if ((Test80861) and (AT=false)) then DOSBOX:=true else DOSBOX:=false; end; Erklaerung: Es wird einfach auf zwei verschiedenen Wegen auf mindestens 80286 getestet. Unter DOSBOX liefert Test8086 auf jeden Fall 3 zurueck (wegen 80386 als Mindestvoraussetzung von DOSBOX). Im BIOS findet sich allerdings an F000:FFFE nicht die charaktischen FC. Alle vorherigen Testversuche haben manchmal Probleme bei anderen DOS-Ausfuehrungsumgebungen gemacht. Here we go: --8-- ... --8-- Sieht vernuepftig aus. -- Mit freundlichen Gruessen, Martin Wodrich FreeXP Entwickler-Mailingliste Dev-List@freexp.de http://www.freexp.de/cgi-bin/mailman/listinfo/dev-list
Re: OS-Plattformen
Martin Wodrich [EMAIL PROTECTED] wrote on 22.12.05: Michael Heydekamp [EMAIL PROTECTED] schrieb am 20.12.05 um 00:42: Was mir noch nicht so ganz klar ist: 1. Was ist denn case WinVersion of 1? Windows 1.x/2.x? Das kann nicht ausgegeben werden. Minimales Ergebnis ist 2 fuer Win3.xx, siehe auch clip.pas: { Rueckgabe: 2 = Win 3.xx, 3 = Win95/98/ME/..., 4 = WinNT/2k/XP/... } Das hab ich natürlich auch gelesen und mich eben deshalb gefragt, was wohl bei Windows 2.x und früher zurückkommt. Meine Vermutung war, daß man das schlicht ausgelassen hat. Die Frage ist natürlich rein akademisch, denn es gibt sicher mehr FreeXP-User als Benutzer von Windows 2.x (wenn es überhaupt welche gibt). DOSBOX kann ich im Moment noch nicht beruecksichtigen, weil der Code in meiner Arbeitsumgebung noch nicht drin ist. Zu DOSBOX gibts dies in Clip.pas: Ich werd das wohl erst mal händisch reinkopieren, damit der UUZ sozusagen DOSBOX-fähig ist. Sieht vernuepftig aus. Bis auf das mit der Versionsnummer für OS/2 Warp, das ist mir noch nicht ganz klar (siehe auch meine Mail dazu). Eigentlich würde ich im UA-Header ohnehin ungerne solche Marketing- Bezeichnungen wie Warp verwenden. Ich kenne mich mit OS/2 nicht aus, aber ist nicht alles =3.0 sowieso Warp? Kann ich mangels OS/2 alles leider nicht testen, jedenfalls wüßte ich gerne mal den Code, um für die jeweiligen OS/2-Versionen einfach nur 1.0, 2.0, 3.0 (welche immer es da geben mag) usw. zurückzubekommen. Früher (bevor wir Warp ausgegeben haben) gab's ja ausschließlich das hier: --8-- if os2 then write(lo(dosversion)div 10:2,'.',hi(dosversion)) --8-- Ist das das, was ich brauche? Wenn ja, dann verstehe ich den Code in 'writever' nicht, mit dem auf Warp getestet wird. Auch nicht, wieso einmal div und einmal / verwendet wird. Michael FreeXP Entwickler-Mailingliste Dev-List@freexp.de http://www.freexp.de/cgi-bin/mailman/listinfo/dev-list
Re: OS-Plattformen
Michael Heydekamp [EMAIL PROTECTED] schrieb am 22.12.05 um 18:08: Was mir noch nicht so ganz klar ist: 1. Was ist denn case WinVersion of 1? Windows 1.x/2.x? Das kann nicht ausgegeben werden. Minimales Ergebnis ist 2 fuer Win3.xx, siehe auch clip.pas: { Rueckgabe: 2 = Win 3.xx, 3 = Win95/98/ME/..., 4 = WinNT/2k/XP/... } Das hab ich natuerlich auch gelesen und mich eben deshalb gefragt, was wohl bei Windows 2.x und frueher zurueckkommt. Nun ich habe auch keinen Code gefunden, der irgentwas bezueglich Win 2.x testet. Also ist es ziemlich naheliegend, da solche Museumsware auch nicht erkannt wird. Meine Vermutung war, dass man das schlicht ausgelassen hat. Jepp. Die Frage ist natuerlich rein akademisch, denn es gibt sicher mehr FreeXP- User als Benutzer von Windows 2.x (wenn es ueberhaupt welche gibt). Ausserdem war alles vor Win 3.xx eigentlich sowieso ziemlich beschraenkt einsatzfaehig. DOSBOX kann ich im Moment noch nicht beruecksichtigen, weil der Code in meiner Arbeitsumgebung noch nicht drin ist. Zu DOSBOX gibts dies in Clip.pas: Ich werd das wohl erst mal haendisch reinkopieren, damit der UUZ sozusagen DOSBOX-faehig ist. Ok. Sieht vernuepftig aus. Bis auf das mit der Versionsnummer fuer OS/2 Warp, das ist mir noch nicht ganz klar (siehe auch meine Mail dazu). 100% sicher bin ich mir dabei auch nicht. Allerdings wurde die aktuelle Routine so mit einem OS/2 Kenner besprochen. Ich selbst habe hier auch kein OS/2. Eigentlich wuerde ich im UA-Header ohnehin ungerne solche Marketing- Bezeichnungen wie Warp verwenden. Du wirst dabei aber schwer darum kommen. Zumal diese meist bekannter sidn als die echte Versionnummer. Ich erinnere nur an Windows 4.xx (besser bekannt als Windows 95, 98 bzw. Millenium Edition (ME)) oder eben Windows NT 5.xx (aka Windows 2000 ,XP bzw. 2003). Ich kenne mich mit OS/2 nicht aus, aber ist nicht alles =3.0 sowieso Warp? Leider kann ich dir dazu auch keine wirklich umfassende Auskunft geben. Frueher (bevor wir Warp ausgegeben haben) gab's ja ausschliesslich das hier: --8-- if os2 then write(lo(dosversion)div 10:2,'.',hi(dosversion)) --8-- Ist das das, was ich brauche? Nein, weil es afaik einfach nur Bloedsinn ausgegeben hat, sobald es ein OS/2 Warp vor sich hatte. Wenn ja, dann verstehe ich den Code in 'writever' nicht, mit dem auf Warp getestet wird. Auch nicht, wieso einmal div und einmal / verwendet wird. Ist es kein Warp, so wird die klassische Ausgabe gewaehlt (welche bei alten OS/2 Versionen korrekt war). Ist es dagegen ein OS/2 Warp so muss man anders vorgehen, da die Version anders uebergeben wird. Daraus ergibt sich dann auch warum mal ein nur ganzzahliges Ergebnis verwendet wird, und mal auch Nachkommastellen. Frage bitte nicht nach Logik, da nur IBM weiss, wieso sich Warp anders verhaellt. -- Mit freundlichen Gruessen, Martin Wodrich FreeXP Entwickler-Mailingliste Dev-List@freexp.de http://www.freexp.de/cgi-bin/mailman/listinfo/dev-list
Re: OS-Plattformen
Martin Wodrich [EMAIL PROTECTED] wrote on 22.12.05: Michael Heydekamp [EMAIL PROTECTED] schrieb am 22.12.05 um 18:08: [...] Eigentlich wuerde ich im UA-Header ohnehin ungerne solche Marketing- Bezeichnungen wie Warp verwenden. Du wirst dabei aber schwer darum kommen. Wieso, ich kann doch auch OS2-3.0 schreiben (zu dämlich, daß der Name das Betriebssystems auch noch eine Ziffer als letztes Zeichen hat). Der Header bzw. dessen Inhalt an dieser Stelle erfüllt einen technischen Zweck, und wer den interpretiert, den interessiert die 3.0 sicher mehr als der Marketingname Warp. Zumal diese meist bekannter sidn als die echte Versionnummer. Aber Warp ist uneindeutig, das kann auch eine 4.0 oder 4.51 sein. Wobei mir gerade einfällt, daß das bisherige 'writever' eine 4.51 wohl gar nicht korrekt ausgeben würde...? Ich erinnere nur an Windows 4.xx (besser bekannt als Windows 95, 98 bzw. Millenium Edition (ME)) oder eben Windows NT 5.xx (aka Windows 2000 ,XP bzw. 2003). Siehe oben. Der Unterschied ist, daß Win95, Win98 usw. eigenständige und eindeutige (SE und sowas jetzt mal außen vor gelassen) Versionsbezeichnungen und nicht nur ein Beiname wie Warp sind. Da steckt die Version auch im Namen selbst, bei Warp nicht. Ich kenne mich mit OS/2 nicht aus, aber ist nicht alles =3.0 sowieso Warp? Ist wohl so, siehe: http://www.operating-system.org/betriebssystem/_german/bs-os2.htm Wenn ja, dann verstehe ich den Code in 'writever' nicht, mit dem auf Warp getestet wird. Auch nicht, wieso einmal div und einmal / verwendet wird. Ist es kein Warp, so wird die klassische Ausgabe gewaehlt (welche bei alten OS/2 Versionen korrekt war). Ist es dagegen ein OS/2 Warp so muss man anders vorgehen, da die Version anders uebergeben wird. Daraus ergibt sich dann auch warum mal ein nur ganzzahliges Ergebnis verwendet wird, und mal auch Nachkommastellen. Hab ich jetzt auch verstanden. :) Frage bitte nicht nach Logik, da nur IBM weiss, wieso sich Warp anders verhaellt. Ach, die wollen mich nur ärgern... ;) Michael FreeXP Entwickler-Mailingliste Dev-List@freexp.de http://www.freexp.de/cgi-bin/mailman/listinfo/dev-list