Re: Starting project EuphoriaVista Interpreter

new topic     » goto parent     » topic index » view thread      » older message » newer message
jcmarsh1 said...

Euphoria for Vista Concerning the Win32 distribution of Euphoria v3.1.1 and v4.0

Things I know through trial or error:

    • It should only run under DEP for security reasons and system stability

That's up the the user who owns the box. That person might want to have DEP off for valid reasons.

jcmarsh1 said...
  • The executable (with DEP) would only be useful on Vista (I believe) unless there is code that detects previous versions and lets them run skipping the DEP code.

XP supports DEP iirc. The code to detect different versions of Windows has already been written, so DEP support will exist when the executable runs on XP or Vista but that executable will still run on 98 without any problems.

jcmarsh1 said...
    • If this executable will only be used on Vista, it could make use of other newer features that are only found on Vista or later.

The only examples you've stated of this are DEP and new Vista-only APIs. The former (aside from working on XP) has a backwards compatible approach and the latter can be done without the need for a separate Vista-only executable. (The APIs just need to be wrapped.)

jcmarsh1 said...

I suggest that the Windows Distribution be split into three (3) main parts:

  1. DOS32 and Win98 compatible (designed to run on Win98)
  2. WinNT/2000/XP compatible (designed to run on WinXP with Win2000 support using exw) (Note: ex is only supported by WinXP using a backwards compatibility layer that is dropped from later version of Windows)
  3. Vista compatible (designed to run on Vista, exw only--ex will crash it is unsafe on Vista)

DOS32 is totally different (almost as far apart from Vista as it is from OS X).

However, XP and 98 are mostly compatible. XP just has a larger API.

I don't know enough about Vista to comment, but I've heard it said that it was a smaller change from XP than XP was from NT.

jcmarsh1 said...
    • It should be noted that ex.exe is only fully supported on Win98 (and earlier) and only mostly supported on WinXP

ex.exe works fine on Vista IF you perform a few changes to the OS. You've correctly noted that this is supported through a backwards compatibility layer. (The majority of the issue is with ex.exe's usage of full screen mode.)

Not sure if I should mention the EUVISTA=1 option here.

jcmarsh1 said...

The libraries for Windows functions would also need to be split up accordingly as jimcbrown suggested.

The libraries could contain API functions in groupings as follows:

  1. functions as old as Win3.1 API and as new as Win98 in winlib98.ew or w32lib98.ew (8.3 filename for backwards compatibility) -- these would be for the Win98 package
  2. functions as old as NT 4.0 and as new as WinXP (that are only in the WinNT branch of the API) in winnt32lib.ew or winxp32lib.ew -- these would be for the Win2000/XP package
  3. functions as old as Vista (and newer) in vista32lib.ew

This is not a bad idea. However, it is possible to have a single win32lib that handles all cases - attempts to actually use a function that isn't supported on 98 would be detected at run time and fail but the same code from the same library should work fine on Vista.

On the other hand, XP and NT are not going to lose support for the old 3.1 API so segregation here may not make sense. It makes more sense for Vista if Vista and WIndows 7 have lost or will lose older APIs (but this can be tested at run time using the same library and the same executable as that which runs on 98).

jcmarsh1 said...
    • Vista 64-bit support will have to wait until the source can compile for 64-bit on IA64 (Intel) and x86-64 (such as AMD64) architectures

I guess there aren't enough copies of XP 64-bit to make sense to support it.

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu