Kostas Michalopoulos schrieb:
On Mon, Dec 2, 2013 at 9:55 PM, Hans-Peter Diettrich
<[email protected]> wrote:
Right, but it was the first desktop presented by Microsoft.


No it wasn't. GEM was presented by Digital Research, Microsoft had
nothing to do with it.

At least it was the first desktop I saw in our company on an IBM-PC. It came very close to my Atari desktop, but turned out to be crippled to allow only for 4 windows, and more crap. I may be misleaded in so far, as it might be presented by DRI even on an PC? [I only saw it running on one of our desktops]

I'm not sure what GEM has to do with multitasking.


You said that they were technically similar, which isn't the case.
Multitasking was an example of a major technical difference they had.

As the acronym GEM says, it's a Graphical Environment Manager, which e.g. on my Atari ST was installed on top of TOS. Multitasking is a feature of the underlying OS, not of GEM.


I don't see a need for an special Windows compiler. The only requirement is
a linker that links the resources into the executable. This was a separate
program for a long time, in addition to the compiler and linker.


Windows (Win16) executables are a different format and while a linker
*could* do it, a windows-aware compiler is still needed. The Win16
calling convention is (was) different to whatever DOS compilers used
(usually compilers used their own). Windows was doing software-based
virtual memory management and would unload parts of the program by
unloading functions and patching the memory where the function was
make a system call for loading them back (so running code that tried
to call the function would continue to work). The compiler had to know
about that do make proper prologs and epilogs. Also AFAIK callbacks
required special handling too.

Okay, that's the same for every platform, not Windows specific. Every platform has its own ABI and object file format, which must be supported by every compiler for that platform. See also the --target etc. switches of FPC.

Some notes are given in
http://www.openwatcom.org/index.php/Exploring_Windows_3.x but that is
mostly Win3.x specific. There some notes about Windows 1.0 and Windows
2.0 in Raymond Chen's "the old new thing" blog, but i can't find
specifics right now.

Windows 3.0 turned out to be the first released and usable desktop version for our portable PCs (from GRiD). At that time we also used a (beta) version of the Borland C development system on Win3.0, which became our new development environment after GW-Basic. I also assisted in the development of an Atari version of BC, and there I wrote a window library that allowed (to some degree) to run Windows code on GEM. From that experiment I remember some of the fundamental differences between GEM and Windows.

DoDi


--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to