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

Antwort per Email an