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 ((Test8086>1) 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
[email protected]
http://www.freexp.de/cgi-bin/mailman/listinfo/dev-list