Recent

Author Topic: Compiler text output with Windows 98  (Read 878 times)

Gammatester

  • Jr. Member
  • **
  • Posts: 69
Compiler text output with Windows 98
« on: September 30, 2018, 03:47:45 pm »

The development versions 3.2.0 and 3.3.1 of the compilers show no output for Windows 98. I mean the progress of the compilationprocess, not the output via writeln, like (log from Win7)
Code: [Select]
Free Pascal Compiler version 3.3.1 [2018/09/26] for i386
Copyright (c) 1993-2018 by Florian Klaempfl and others
Target OS: Win32 for i386
Compiling zz.pas
zz.pas(10,3) Note: Local variable "s" not used
Linking zz.exe
27 lines compiled, 0.2 sec, 65776 bytes code, 4212 bytes data
1 note(s) issued
This applies to the i386-win32 compiler and cross-compiler for x86_64-win64, whereas for i386-go32v2 the output is as expected like that from the 304 release version.

I know that Win98 is rather old and somewhat unsupported, but it would be great if the standard i386-win32 compiler could be used too (besides go32v2).

Can anybody give a hint how to change the compiler source, so that the situation is like 304? And what actually has been changed and why?

BTW: What happened to the MS-DOS compiler? I could not find distribution archives for 3.2.0 or 3.3.1?


marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 6608
Re: Compiler text output with Windows 98
« Reply #1 on: September 30, 2018, 03:52:57 pm »
  • FPC 2.6.x and higher are not formally supported on win9x.
    There are 2.6.x builds though that still work on win9x. 
  • FPC3 and later heavily use unicode "W" functions, and I would be surprised if they worked on w98.
  • 2.6.2 or 2.6.4 is probably your best bet for win9x support.
  • FPC 3.2.0 is in preparation, but probably won't land this year. Any archives out there are early betas at best.
  • FPC 3.3.1 is current trunk, and anything trunk is beta by definition.
  • Afaik win2000 is also no longer support by current versions, but like w9x during the 2.6.x cycle, it is still mostly in details

Gammatester

  • Jr. Member
  • **
  • Posts: 69
Re: Compiler text output with Windows 98
« Reply #2 on: September 30, 2018, 04:29:44 pm »
Thank you for the information. I accept that the W functions do not work, but these facts still stand
  • FPC304 Win32 and the 64-bit cross compiler work on plain Windows 98 1st ed (without KernelEx)
  • The newer Go32v2 compilers work on Win98 as expected
  • Standard console writeln works
  • Even the 3.2.0 / 3.3.1 are running under Win98, but there is no output. The executables are built correctly.
So you mean, there is no single crucial point in the source where I can interact to 're-enable' the output.
« Last Edit: September 30, 2018, 04:32:13 pm by Gammatester »

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 6608
Re: Compiler text output with Windows 98
« Reply #3 on: September 30, 2018, 06:09:33 pm »
FPC304 Win32 and the 64-bit cross compiler work on plain Windows 98 1st ed (without KernelEx)

That is not intended, tested or whatever. It might also depend on the installation of certain components like MSLU. Afaik original win98 crashed on every W usage.

Quote
The newer Go32v2 compilers work on Win98 as expected

What I said only was for the win32 target. Go32v2 is still win98 compatible I guess.

Quote
Standard console writeln works

Even the 3.2.0 / 3.3.1 are running under Win98, but there is no output. The executables are built correctly.
So you mean, there is no single crucial point in the source where I can interact to 're-enable' the output.

As said the win32 compiler is unsupported for win98 for a long time. Anything starting win32 is pure coincidence since the entire RTL was redone based on W functionality and calls only had to work on Windows XP+, something else was simply not checked (and hard, since Microsoft removed the info from MSDN)

The only person that did some research on this subject for older windows versions is Bart, but afaik even he gave up in 2016-17 too.

These threads have some context:

https://forum.lazarus.freepascal.org/index.php?topic=30677.15
https://forum.lazarus.freepascal.org/index.php/topic,35893.30.html


Bart

  • Hero Member
  • *****
  • Posts: 3161
    • Bart en Mariska's Webstek
Re: Compiler text output with Windows 98
« Reply #4 on: September 30, 2018, 07:04:40 pm »
The only person that did some research on this subject for older windows versions is Bart, but afaik even he gave up in 2016-17 too.

To be fair, I only did Win9x work for Lazarus and contributed one Win9x workaround for fpc.
And yes, we (the Lazarus team) have given up.
Even Graeme did not protest in the end  O:-)

Bart

Thaddy

  • Hero Member
  • *****
  • Posts: 7178
Re: Compiler text output with Windows 98
« Reply #5 on: September 30, 2018, 07:05:59 pm »
So you mean, there is no single crucial point in the source where I can interact to 're-enable' the output.
It simply means that the use of a legacy OS warrants a legacy version of a compiler.....

But feel free to support it.....

I like it to play with DosBox...
« Last Edit: September 30, 2018, 07:16:34 pm by Thaddy »
inline variables like in D10.3 are a bit like Brexit: if you are given the wrong information it sounds like a good idea. Every kid loves candy, but it makes you fat and your teeth will disappear.

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 6608
Re: Compiler text output with Windows 98
« Reply #6 on: September 30, 2018, 07:31:22 pm »
To be fair, I only did Win9x work for Lazarus and contributed one Win9x workaround for fpc.

So you DID do 100% of the fixes! :-)

Quote
And yes, we (the Lazarus team) have given up.
Even Graeme did not protest in the end  O:-)

Trouble is that people only gave feedback about win9x (and except for usually not too detailed) when a release was close.

That fundamental management deficit lingered on for several major versions (already noticeable with 2.2.2 and 2.2.4), and enough was enough.

Because the main complaint was the constraints put on the win32 managers, an idea was shortly floated to split the target in the core win32 target and a separate win9x (which could be a bit less hardcore, and e.g. only do one release per cycle), but nobody wanted to maintain it, and a call on fpc-devel got zero responses.

Gammatester

  • Jr. Member
  • **
  • Posts: 69
Re: Compiler text output with Windows 98
« Reply #7 on: September 30, 2018, 08:04:22 pm »
My question aimed only at the compiler, not the RTL or Lazarus.  I accept that many FPC packages will not work under Win98.

Since I am using the console units, crt, math, etc without problems even with the new 3.2.0 or 3.3.1 versions, the actual question is simply: Why does is the compiler output is  visible on Win98? Is it caused by Widechar or Unicode output with writeln to the console?

Again, the basic compiler works fine for Win98  and produces the same working executable as on Win7. And 3.0.4 output is visible on Win98

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 6608
Re: Compiler text output with Windows 98
« Reply #8 on: September 30, 2018, 09:55:44 pm »
My question aimed only at the compiler, not the RTL

The compiler is built with the RTL. The compiler is a free pascal program, so it links to the rtl.

Why now different is as unknown as why it worked in 3.0.4 for you.