Re: FW: Unicode version of atl.dll?

From: Antoine LECA \(portable\) (Antoine.Leca@renault.fr)
Date: Tue Oct 31 2000 - 14:19:37 EST


Sorry to enter into the bare technic.

Carl W. Brown wrote:
>
> Win 3.x is a shell on DOS.

That is quite a restrictive way of seeing things.
When Win 3.x operates in enhanced mode, DOS is in fact run under
a supervisor (named the VMM), using a special mode of the processor
known as V86 (which is different from real mode). Pretty complex
for a "shell", I should say.

> Win 95 is an OS into it self except that is uses DOS to start and
> some of the code has been borrowed for Win 3.x.

I can agree with that, but the VMM (a.k.a. VMM32.VXD or WIN386.EXE)
and all the stuff which is the core kernel of this O.S., comes for
quite a big part, and almost all conception, from Windows/386.
Which itself predates Win 3.X ...

What was really new with Win95 was some important points, like
the Win32 interface (which comes also with Win 3.x for a part),
support for unloadable core drivers (which include plug-and-play),
and also an "integrated" starting mode that may lead to the
impression that Win95 runs without the DOS. Which is in fact a
marketing astute to tell everyone "Win95 will replace MS-DOS".

The reality is that Win95 (which includes MS-DOS 7) is the
logical evolution of the triple MS-DOS 6 + Win 3.x + Win32s.

> Win Me OTOH has no real mode support. No more AUTOEXEC.BAT or CONFIG.SYS.

Are you kidding? Okay, there are no more AUTOEXEC.BAT etc. in
ME, but there is a real mode in ME. Which is a little less
developped than it was in 98 (compare the size of both WINBOOT.SYS).
And both are used a few seconds, to initialize all the mandatory
MS-DOS structures, before the VMM turns the processor into protected
mode; after that point, there is no more real mode, in no version.
Not in ME, but not in 9X, nor in 3.x, nor in Windows/386 2.03 ;-).
OTOH, in NT, the processor is turned into protected mode very early,
to be able to run into a flat 32-bit address space (among other
things).

I believe the real difference is that they dropped the reading and
interpretation of CONFIG.SYS in ME ;-)

> Have you written Win Me device drivers? They are much more like W2K
> than W95's were.

This one I agree with.

> Yes there is a big whole in Unicode support but I find it difficult
> to Equate Win Me and Win 3.x.

As much difficult as it is to equate ME with "2000 without Unicode"...

Nobody "equates" them. Brendan and Michka were just suggesting than
when it comes to the charset used in the API to communicate with
the O.S., NT/2000 are on one side (Unicode based) while 3.x (as well
as the preceding versions of Windows), 95, 98, and ME, are on the
other, which is "ANSI" based (where ANSI means in fact a proprietary
ad hoc character set developped from international standards, one
of them being iso-8859-1 that was seen as ANSI back in 1985, to oppose
with the MS-DOS codepages created by IBM and used in many places in
the PC hard and soft architecture).
There are gateways from one to the other world. NT natively integrates
the "ANSI" view, because this is mandatory for the backward compatibility.
OTOH 9X did not have until recently such general gateways available
(the stuff inside Office 2000 and Cheops are now here, though), but
some important points like TextOutW are present since 95.

This does not change the basic point which is a difference in the
way strings of characters are handled inside the O.S.

> Win 3.x apps use separate compilers than the Win 9.x/Win NT apps.

More exactly, Win16 apps (which run "perfectly" on any O.S.) require
separate compilers than Win32 apps (which run on NT/2000, often on 9X
and sometimes on Win 3.X with Win32s), and also separate "compilers"
for VxDs (which run on Win 3.x/E and 9X, but do not run under NT).

Can we please avoid to mix O.S. architectures (which evolve) and the
related APIs (so compilers) with the actual shipped products?

Antoine



This archive was generated by hypermail 2.1.2 : Tue Jul 10 2001 - 17:21:15 EDT