Re: OS-Plattformen

2005-12-22 Diskussionsfäden Martin Wodrich
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

2005-12-22 Diskussionsfäden Michael Heydekamp
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

2005-12-22 Diskussionsfäden Martin Wodrich
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

2005-12-22 Diskussionsfäden Michael Heydekamp
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