[Lazarus] The future of desktop

Hans-Peter Diettrich DrDiettrich1 at aol.com
Tue Dec 3 16:13:27 CET 2013


Kostas Michalopoulos schrieb:
> On Mon, Dec 2, 2013 at 9:55 PM, Hans-Peter Diettrich
> <DrDiettrich1 at aol.com> 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





More information about the Lazarus mailing list