Recent

Author Topic: Supporting Windows from 95 to 10  (Read 26101 times)

Bart

  • Hero Member
  • *****
  • Posts: 5275
    • Bart en Mariska's Webstek
Re: Supporting Windows from 95 to 10
« Reply #30 on: February 22, 2017, 01:51:06 pm »
In the end it just wasn't worth it anymore and now we almost completely stripped all Win9x code (AnsiString API calls) from Lazarus and rely fully on WideString API.
This inevitably will fail in Win9x.

Some of that is mitigated by installing the Microsoft Layer for Unicode on Windows 95, 98, and Me (MSLU) library.

You miss the point.
It was just too much of a hassle to maintain the win9x code and it made developing new features difficult, because none of the developers would even notice that they had broken the win9x part.
E.g. some of the code that interfaces with the debugger only works on NT based OS. So you already need a define to build a partially crippled IDE for win9x.
Notice that I was (and still am) the only developer that has a win9x machine. I used to have a native WinME machine, but that one does not exist anymore, so I have a Win98SE virtual machine now, which will crash randomly. Even installing the compiler on that is a PITA since the fpc installer is NT based. Once we move to Lazarus 1.8 I will kill that VM, because at that time all support for win9x is dropped (see "Phasing out support for Windows 98 and Windows ME").

If there would be a community that would actively contribute to a win9x widgetset, then it could be done, but the demand for this seems to be negligible.
We should however IMO not start mixing win9x code into the current win32 widgetset again.

Bart

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: Supporting Windows from 95 to 10
« Reply #31 on: February 22, 2017, 01:56:49 pm »
Some of that is mitigated by installing the Microsoft Layer for Unicode on Windows 95, 98, and Me (MSLU) library.

Often suggested, few practical reports. A lot is possible, nothing was done, the problem is a manpower one, not a technical one, as Bart already said.

A lot of people like to cross off that item (since saying no to a customer or user is always hard), but nobody wants to work (and work continously) to make that happen and keep that (win9x) option open.

Note this managerial defect has been that way for the better part of 10-12 years, iow since Windows XP came out.

Enough is enough.
« Last Edit: February 22, 2017, 02:01:19 pm by marcov »

Thaddy

  • Hero Member
  • *****
  • Posts: 14205
  • Probably until I exterminate Putin.
Re: Supporting Windows from 95 to 10
« Reply #32 on: February 22, 2017, 02:29:27 pm »
Note this managerial defect has been that way for the better part of 10-12 years, iow since Windows XP came out.
Enough is enough.

I had to re-read it to understand that Bart wasn't the managerial defect...  :D
But I think almost everybody agrees with you and Bart.
And there are pointers in place on which versions to use when museum pieces are required to be maintained.
Specialize a type, not a var.

Bart

  • Hero Member
  • *****
  • Posts: 5275
    • Bart en Mariska's Webstek
Re: Supporting Windows from 95 to 10
« Reply #33 on: February 22, 2017, 02:57:21 pm »
I had to re-read it to understand that Bart wasn't the managerial defect...  :D

ROFL

Bart

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: Supporting Windows from 95 to 10
« Reply #34 on: February 22, 2017, 03:10:31 pm »
I had to re-read it to understand that Bart wasn't the managerial defect...  :D

No, and neither were Tomas and Pierre who also have done a lot for win9x (and dos) over the years.

But again, all those efforts were usually around release time. Nobody tested trunk with win9x. It was not continuous.

palacs

  • New Member
  • *
  • Posts: 21
Re: Supporting Windows from 95 to 10
« Reply #35 on: April 06, 2017, 04:28:06 pm »
What about the NativeNT target via cross compilation?

As far as I get it from the wiki page, it could even run on NT 3.51, which means it would be fine on Windows 95 as well.

Anyone tried it?

Thaddy

  • Hero Member
  • *****
  • Posts: 14205
  • Probably until I exterminate Putin.
Re: Supporting Windows from 95 to 10
« Reply #36 on: April 06, 2017, 04:35:34 pm »
As far as I get it from the wiki page, it could even run on NT 3.51, which means it would be fine on Windows 95 as well.
No. It's is not fine. Even 3.51 has a complete 32/64 bit kernel and sub systems. Win95 hasn't. It is based on win32s, which is a bold on to 3.11.
« Last Edit: April 06, 2017, 04:40:46 pm by Thaddy »
Specialize a type, not a var.

BobS

  • Full Member
  • ***
  • Posts: 153
Re: Supporting Windows from 95 to 10
« Reply #37 on: May 11, 2017, 09:35:24 am »
It's tough to let those old ones go, what memories they bring, but you can see why it's not really worth the effort: https://en.wikipedia.org/wiki/Usage_share_of_operating_systems#/media/File:Operatingsystem_market_share.svg

Even good old XP is at 1.25% at the end of 2015 though it beats out Vista (which I liked).  Now not being able to read German I'm not sure how those stats were collected maybe based on what people were using when they hit a certain web site and so it probably underreports some of those old OSes a bit like the Win95 setups running machinery (and I've seen reports on CNC machines that still use/are stuck on Win95) that never use the internet, but then those people aren't too likely to want to use Lazarus anyway :).

PatBayford

  • Full Member
  • ***
  • Posts: 125
Re: Supporting Windows from 95 to 10
« Reply #38 on: July 19, 2017, 05:34:23 am »
I find it hard to believe that anyone is using Windows 9x anymore, for anything. What could the possible use case be?
Believe it or not, one of the major problems here is the success Microsoft had selling "embedded" versions of Windows, which can be found in equipment from cheap consumer items, up to million dollar plus medical scanners. These nearly all use ROM based operating systems, so upgrading the OS is all but impossible. Another big hand for the Redmond giant.
Lazarus 1.8.0 FPC 3.0.2 SVN 56594 Windows 10 64bit (i386-win32-win32/win64)

PascalDragon

  • Hero Member
  • *****
  • Posts: 5446
  • Compiler Developer
Re: Supporting Windows from 95 to 10
« Reply #39 on: September 05, 2017, 11:11:34 pm »
What about the NativeNT target via cross compilation?

As far as I get it from the wiki page, it could even run on NT 3.51, which means it would be fine on Windows 95 as well.

Anyone tried it?

The NativeNT target isn't for running Win32 applications, but applications directly above the NT kernel (e.g. the Windows subsystem itself is such an application, or the POSIX subsystem or the chkdsk variant that runs at startup) or drivers loaded by the kernel. So while it's true that applications developed for the target could potentially run on NT 3.51 (I've never tested it though) it's not helping you any further as they're a completely different kind of beast.

And those that want a small Windows system: why not give ReactOS a try? Considering it's based on the Windows Server 2003 API it's still supported by FPC. :)

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11383
  • FPC developer.
Re: Supporting Windows from 95 to 10
« Reply #40 on: September 06, 2017, 07:07:22 am »

And those that want a small Windows system: why not give ReactOS a try? Considering it's based on the Windows Server 2003 API it's still supported by FPC. :)

Hardware, drivers probably.

MK8chus6

  • Newbie
  • Posts: 1
Re: Supporting Windows from 95 to 10
« Reply #41 on: October 28, 2022, 07:10:59 pm »
For those who might be thinking of using FPC 2.6.4 or 2.6.2 to target win95, please note that unlike what is suggested earlier in the comments in this thread, and to the best of my understanding, those versions do not work at all to target win95. At least the binaries found online. I wasted much time only to find this out later.

However, tracking the code for those versions myself about the error I got, which is about a missing "TryEnterCriticalSection" in "Kernel32.dll", I found that the code does contain the pertaining patches for win95, but it seems that the binaries found online were not compiled with those patches enabled, where Enabled manifests itself as the macro "SUPPORT_WIN95" defined. See

https://www.freepascal.org/rtl/win95-rtl-242-fix.html
https://www.freepascal.org/rtl/win95-rtl-244-fix.html
https://www.freepascal.org/rtl/win95-rtl-260-fix.html

And I stopped there. I did not try to compile FPC 2.6.4, nor 2.6.2, myself.

winni

  • Hero Member
  • *****
  • Posts: 3197
Re: Supporting Windows from 95 to 10
« Reply #42 on: October 28, 2022, 07:35:21 pm »
Hi!

Remember that there are 2 totaly different developments of Windows:

The DOS based systems: 16 Bit  3.1x, 32 Bit Win95, Win98, Win98SE, WinME.
That were the "one crash per hour" systems (except 16bit)

Then Windows was totaly rewritten, mostly by the VAX developers, which were then just fired by Digital Equipment. That was the "new" Windows: NT, 2000, XP, Vista, Win7, ....

Only the API stayed the same - ok, they tried.

Winni   
« Last Edit: October 28, 2022, 07:47:15 pm by winni »

MarkMLl

  • Hero Member
  • *****
  • Posts: 6676
Re: Supporting Windows from 95 to 10
« Reply #43 on: October 28, 2022, 07:57:22 pm »
For those who might be thinking of using FPC 2.6.4 or 2.6.2 to target win95, please note that unlike what is suggested earlier in the comments in this thread, and to the best of my understanding, those versions do not work at all to target win95. At least the binaries found online. I wasted much time only to find this out later.

Well, if you're going to uncritically assume that information which is five years old still applies, without at least asking, what do you expect?

Quote
However, tracking the code for those versions myself about the error I got, which is about a missing "TryEnterCriticalSection" in "Kernel32.dll", I found that the code does contain the pertaining patches for win95, but it seems that the binaries found online were not compiled with those patches enabled, where Enabled manifests itself as the macro "SUPPORT_WIN95" defined. See

https://www.freepascal.org/rtl/win95-rtl-242-fix.html
https://www.freepascal.org/rtl/win95-rtl-244-fix.html
https://www.freepascal.org/rtl/win95-rtl-260-fix.html

And I stopped there. I did not try to compile FPC 2.6.4, nor 2.6.2, myself.

In that case /try/: it's really not that difficult. I mean if a duffer like me has been able to build from something like 2.2.4 onwards anybody should...

/However/, you might find additional problems relating, if my memory serves correctly, to kernel-level Unicode support. There was debate about it at the time on the mailing list IIRC, but it was at that point that the oldest members of the Windows family which had any pretence to 32-bit support (i.e. Windows '95 and Windows NT 3 & 4) were dropped as supported targets.

From my POV the dropping was unfortunate, and there are still a few people with "industrial computers" of various kinds stuck with NT. But at the same time, I'm not one of the people who gets the grief when things stop working.

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

Bart

  • Hero Member
  • *****
  • Posts: 5275
    • Bart en Mariska's Webstek
Re: Supporting Windows from 95 to 10
« Reply #44 on: October 28, 2022, 08:20:17 pm »
IIRC then I had Lazarus 1.4 with fpc 2.6.something running on actual hrdware with WinME.
(WinME of course was a PITA in itself)

Bart

 

TinyPortal © 2005-2018