Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to index page
Thread view  Board view
marcov

01.01.2010, 16:08
 

FPC 2.4.0 released! (Announce)

Happy New Year!!

We have placed a new major release of the Free Pascal Compiler,
version 2.4.0 on our ftp-servers.

Changes that may break backwards compatibility are documented at:
http://wiki.freepascal.org/User_Changes_2.4.0

Downloads are available at:

the main FTP server at

ftp://ftp.freepascal.org/pub/fpc/dist/2.4.0/

and

ftp://freepascal.stack.nl/pub/fpc/dist/2.4.0/

Enjoy!

The Free Pascal Compiler Team



Free Pascal Compiler

Version 2.4.0

******************************************************************************
What's New in 2.4.0
******************************************************************************

Free Pascal 2.4.0 contains many fixes and new features. While we did not
manage to incorporate all planned additions, we believe this release offers a
nice collection of new functionality and bug fixes.


Please also see http://wiki.freepascal.org/User_Changes_2.4.0 for a list
of changes which may affect the behaviour of previously working code, and
how to cope with these changes.

Some highlights are:

Platforms:
* New platform: Mac OS X/PowerPC64
* New platform: Mac OS X/x86_64
* New platform: Mac OS X/ARM (iPhone)
* New platform: Haiku/i386

Compiler:
* Support for Delphi-style resource handling
* Whole-program optimization infrastructure, which initially supports
program devirtualization and unused virtual method removal
* Much faster compilation of units containing many type-sections
* The ability to suppress individual hints/warnings/notes
* Several improvements to the DWARF debug information generation
* Fixes to the generics support
* Fixes to the interface delegation (implements) support
* Improved cpu register allocation
* Improved ARM/EABI support

RTL:
* Linearly scaling multi-threaded memory manager
* Support for (advisory) file locking on Unix-based platforms
when using the SysUtils file creation/opening routines
* Support for ANSI ISO Extended Pascal ReadStr/WriteStr
* A UnicodeString type that, while not yet equivalent to Delphi 2009's
UnicodeString type, offers reference counted UnicodeString support on
the Windows, Linux, Mac OS X, FreeBSD and Beos/Haiku platforms.

Packages:
* Many improvements to the XML units
* Many improvements to the database units
* Updated the common Mac OS X Pascal interfaces to r241, including
header a translation of the CFNetwork framework
* The zipper unit now works correctly on big endian platforms

See http://bugs.freepascal.org/changelog_page.php for the list of reported
bugs which have been fixed in this release.

Rugxulo

Homepage

Usono,
01.01.2010, 18:28

@ marcov
 

FPC 2.4.0 released!

> Happy New Year!!

Same to you.

> We have placed a new major release of the Free Pascal Compiler,
> version 2.4.0 on our ftp-servers.

Was there even an RC2? I didn't see any mention of one. So is this just RC1 renamed or a new release?

> RTL:
> * Linearly scaling multi-threaded memory manager

(DOS386): "Even in DOS???" :confused:

(heh, you know he would say that)

P.S. Some comments on the README.TXT :

> Free Pascal 2.4.0 is currently available for the following platforms:
> - GO32v2-i386

I know it's probably well-known, but this should say "DOS" somewhere, IMHO.

> - smartlinking (not yet supported under Mac OS X)

Under DOS? (doubt it but would be nice if so)

> - can create binaries running natively under both DOS and OS/2 (EMX version)

Seriously, does the EMX version even exist anymore? Last I heard I thought you were phasing out all EMX libs, DLLs, etc. Heck, at one time OpenWatcom was going to be used somewhere. (I dunno, I don't have OS/2, just curious.)

> Download distribution archive (dos222.zip for GO32v2) and unzip it into

Oops, should be dos240.zip. :-)

> In order to make the compiler/rtl & IDE in a resonable time
> (eg <30 minutes) you'll need at least 32 MB of physical
> memory (64 MB is better), at least a 200 MHz processor and
> at least 100 MB of free disk space.

I heavily doubt that's true anymore, but if so that's quite low!!

> Some specific utilities and programs come under the license
> described in COPYING.DJ, COPYING.EMX, COPYING.RSX, license.upx
> and licensez.ip.

AFAIK, COPYING.DJ, CWSDPMI, and UPX both are pretty GPL-ish except slightly more liberal in some circumstances. EMX and RSX are both GPLv2, I think (although abandoned ... 0.9d and 5.24 are last, IIRC) but not used except in (old?) OS/2 FPC. Info-Zip is free BSD-ish license.

Laaca

Homepage

Czech republic,
02.01.2010, 19:00

@ marcov
 

FPC 2.4.0 released!

I downloaded and installed it and tried to compile my program - color mixer.

It compiled successfuly but mouse didn't work.
Mouse handler in DPMI is quite mysterious thing so when I started to figure what is wrong I didn'r really believe that I find it.

But I found the issue - problem was in

a:longbool;
a:=true;

...and later in assembler part I assumed that A will be 1.

Be careful about it. It is known and documented change but it can be potentialy very dangerous!


Next problem I had is the often failing of linker.
All code is properly compiled but the linker can't bind it into EXE. Sometimes helps to build whole project sometimes helps to compile and then make and sometimes nothing helps and you have to switch from one compilation mode into another one (like from debug to release or from debug to normal and so on).

And finaly the behaviour of IDE. In plain DOS the mouse cursor draws some chars when moving. But the situation is even worse.
Just because in win XP it works fine and under DOSbox too. It is bad because it is unlikely that some of the core developers will test it under plain DOS. And because under win XP it is OK nobody will care about it....

But anyway - something had to change here because in FPC 2.2.2 wasn't this problem.

And maybe I should test also some other DOS mouse drivers than CTmouse...

---
DOS-u-akbar!

Laaca

Homepage

Czech republic,
11.01.2010, 08:56

@ Laaca
 

FPC 2.4.0 released!

Tried on another computer.
There are no new problems with mouse although still using CTmouse.
Interresting. It is worth to mention that on the problematic PC also occurs the mouse cursor bug in FreeDOS Edit (cursor is most of the time hidden).
On the heatly PC also FreeDOS edit is OK.

And maybe is it just coincidence but on the "healty" PC I didn't have linking issues so far.

I have to say that I am impressed by amount of new functions - mainly in Sysutils unit. They are really new or they are just newly described in documentation?

BTW, docementation really improved. Now also unit Graph is described.

---
DOS-u-akbar!

Rugxulo

Homepage

Usono,
02.01.2010, 23:46
(edited by Rugxulo, 10.01.2010, 20:15)

@ marcov
 

FPC 2.4.0 released!

Hi,

> We have placed a new major release of the Free Pascal Compiler,
> version 2.4.0 on our ftp-servers.

I have announced this on FreeDOS' news page (actually just re-updated the RC1 announcement), so it's there now. Hope this helps get more users.

BTW, more random comments:

1). Some tools are still less than newest, maybe there's a good reason, but if not, you should update to AR, AS, LD, etc. 2.19, ZIP 3.0, UPX 3.04, etc. (I've got a rebuilt UPX-UCL 3.04 on my site if you prefer a totally free/libre version.)

2). I didn't heavily test, but something seems amiss in the timing of FPCTRIS (unlike 1.0.10's behavior) as well as a fairly big size increase. Take this with a grain of salt, though. But it did act weird under DOSBox and Vista.

3). Full install seems to be 170 MB (vs. 70 MB for 1.0.10). In particular, the install takes a lot longer (well, not too too bad) now, probably due to lots more documentation. Also, the "old versions" link on the website honestly doesn't even mention GO32V2, so I forgot/got confused thinking the EMX version was the official DOS one (oops), which is bad because it doesn't fully work in DOS (make.exe is OS/2 only, RSX refuses it) nor Vista (even with RSX, compiler won't run) nor does it even come with the GO32 RTL (no luck making voxel.pp). I had to search for and find dos1010full.zip elsewhere. I should honestly look into how to make a small-ish package of 2.4.0, esp. since it's being maintained (unlike 1.0.10).

(edited to remove lame-o instructions for lame-o old FPC version)

marcov

03.01.2010, 13:16

@ Rugxulo
 

FPC 2.4.0 released!

> I have announced this on FreeDOS' news page (actually just re-updated the
> RC1 announcement), so it's there now. Hope this helps get more users.
>
> BTW, more random comments:
>
> 1). Some tools are still less than newest, maybe there's a good reason,
> but if not, you should update to AR, AS, LD, etc. 2.19, ZIP 3.0, UPX 3.04,
> etc. (I've got a rebuilt UPX-UCL 3.04 on my site if you prefer a totally
> free/libre version.)

Yes. And most importantly, GDB. I'm thinking of building a release for dos from the stable branch (2.4.1).

> 2). I didn't heavily test, but something seems amiss in the timing of
> FPCTRIS (unlike 1.0.10's behavior) as well as a fairly big size increase.
> Take this with a grain of salt, though. But it did act weird under DOSBox
> and Vista.

Odd.

> 3). Full install seems to be 170 MB (vs. 70 MB for 1.0.10). In particular,
> the install takes a lot longer (well, not too too bad) now, probably due to
> lots more documentation.

This can be circumvented by installing the docs as CHM, which makes it faster and tighter. But I had a problem with CHM generation, so they are not uploaded (and integrated) yet.

> GO32 RTL (no luck making voxel.pp). I had to search for and find
> dos1010full.zip elsewhere. I should honestly look into how to make a
> small-ish package of 2.4.0, esp. since it's being maintained (unlike
> 1.0.10).

That's because anything before 2.2.2 was retired out of copyright reasons. Some Borland code crept in somewhere in '98, and between 2.2.0 and 2.2.2 we ripped it out after we got a notice from Borland. Luckily they were understanding, and gave us time to do it well.

So 2.2.2 is the oldest version you will find on servers we control.

The license situation for everything _compiled_ with older versions is insecure. Consult your legal aid in case of doubt.

> +==================================================+
> | FPC 1.0.10 (DOS, aka GO32v2) on a 1.44 MB floppy |
> +==================================================+

Please do not advocate tainted and non-libre code.

The more serious problem is the one that Laaca metioned. The IDE gets to a state where it refuses to compile. Contrarily to what people think it had that aspect in 2.2.x too, but it was a lot rarer. Some of the codegeneration changes of 2.4.x made it probably more prominent (or some other change in the compiler). The problem also isn't limited to dos alone.

Rugxulo

Homepage

Usono,
03.01.2010, 15:30

@ marcov
 

FPC 2.4.0 released!

> > 1). Some tools are still less than newest, maybe there's a good reason,
>
> Yes. And most importantly, GDB. I'm thinking of building a release for dos
> from the stable branch (2.4.1).

GDB 6.11 is still included, so I guess you never used GDB 6.8 from Andris?? Did you at least e-mail Eli about upcoming 7.0??

BTW, I guess AS.EXE is still only included for comparison (as it's no longer technically needed, right?).

> > 3). Full install seems to be 170 MB (vs. 70 MB for 1.0.10). In
>
> This can be circumvented by installing the docs as CHM, which makes it
> faster and tighter. But I had a problem with CHM generation, so they are
> not uploaded (and integrated) yet.

Well, my old P166 doesn't have 170 (or even 70) MB free, so I kinda have to think about things like this. Newer computers don't have that problem. ;-)

> > GO32 RTL (no luck making voxel.pp). I had to search for and find
> > dos1010full.zip elsewhere.
>
> That's because anything before 2.2.2 was retired out of copyright reasons.
> Some Borland code crept in somewhere in '98, and between 2.2.0 and 2.2.2 we
> ripped it out after we got a notice from Borland.
>
> So 2.2.2 is the oldest version you will find on servers we control.

So let me be clear, only DOS/GO32V2 versions are a problem? Because it still lists other versions (including EMX). Is it the compiler proper or RTL or both?? So EMX is fine??

It's not that I heavily love 1.0.10 (like Laaca), just that I figured it was more commonly used than the 2.x series. E.g., samples from Adlib Tracker II compiled fine in 1.0.10 last night, but I know 2.2.2 had troubles. As well as the FPCTRIS bug which needs further investigating.

EDIT (2.4.0): Tried again, seems "make" builds the (Vista-hating) gfx version, which is still way way too fast in DOSBox. I manually did "fpc fpctris.pp" (text only version) and, for some reason, the timing is fine under DOSBox now, but it won't clear lines!! :confused:

> The license situation for everything _compiled_ with older versions is
> insecure. Consult your legal aid in case of doubt.

Yeah sure, my lawyer, right. I don't grok Pascal, remember? I don't have any worries about it.

> > +==================================================+
> > | FPC 1.0.10 (DOS, aka GO32v2) on a 1.44 MB floppy |
> > +==================================================+
>
> Please do not advocate tainted and non-libre code.

This was only a small feat just to compete better with "tiny" TP55. Also I figured it was a good comparison for what to expect in 2.4.0 (but now guess not). I didn't know it was tainted, obviously. Obviously this is all the more reason to improve 2.4.0. (I guess you know that this was not explained at all on the "old versions" page of the website. I'm obviously out of the FreePascal loop.)

marcov

05.01.2010, 10:42

@ Rugxulo
 

FPC 2.4.0 released!

> > Yes. And most importantly, GDB. I'm thinking of building a release for
> dos
> > from the stable branch (2.4.1).
>
> GDB 6.11 is still included, so I guess you never used GDB 6.8 from
> Andris?? Did you at least e-mail Eli about upcoming 7.0??

Not for dos, but we have experimented a lot with 6.8 and even 7.0 on windows. When we did this last fall, 2.4.0 was already branched off.

> BTW, I guess AS.EXE is still only included for comparison (as it's no
> longer technically needed, right?).

It is needed for the startup code. (when bootstrapping) and as fallback. But probably not used a lot.

> Well, my old P166 doesn't have 170 (or even 70) MB free, so I kinda have
> to think about things like this. Newer computers don't have that problem.
> ;-)

The docs shrink to 6-10 MBish in CHM form.

> we
> > ripped it out after we got a notice from Borland.
> >
> > So 2.2.2 is the oldest version you will find on servers we control.
>
> So let me be clear, only DOS/GO32V2 versions are a problem?
No. All.

> Because
> it still lists other versions (including EMX). Is it the compiler proper or
> RTL or both?? So EMX is fine??

RTL mostly delphi parts. In mostly OS dependant code.

> It's not that I heavily love 1.0.10 (like Laaca), just that I figured it
> was more commonly used than the 2.x series. E.g., samples from Adlib
> Tracker II compiled fine in 1.0.10 last night, but I know 2.2.2 had
> troubles. As well as the FPCTRIS bug which needs further investigating.

The 1.9/2.0 series changes the calling conventions from FPC's own convention to something more compatible. That is the breaker in most apps that interface a lot of dos. Trunk changed in dec 2004 iirc. The advantage is that Delphi assembler code now runs mostly unmodified.

> EDIT (2.4.0): Tried again, seems "make" builds the (Vista-hating) gfx
> version, which is still way way too fast in DOSBox. I manually did "fpc
> fpctris.pp" (text only version) and, for some reason, the timing is fine
> under DOSBox now, but it won't clear lines!! :confused:

Maybe the timing calibration is not exact.

> > > +==================================================+
> > > | FPC 1.0.10 (DOS, aka GO32v2) on a 1.44 MB floppy |
> > > +==================================================+
> >
> > Please do not advocate tainted and non-libre code.
>
> This was only a small feat just to compete better with "tiny" TP55. Also I
> figured it was a good comparison for what to expect in 2.4.0 (but now guess
> not). I didn't know it was tainted, obviously. Obviously this is all the
> more reason to improve 2.4.0. (I guess you know that this was not
> explained at all on the "old versions" page of the website. I'm obviously
> out of the FreePascal loop.)

Probably old stale links, FTP has been removed afaik (and it hurt me quite bad to have to remove the versions that didn't have a newer release like 1.0.x only targets and m68k). I'll make a note on my todo list to clean up the HTML.

Rugxulo

Homepage

Usono,
06.01.2010, 18:40

@ marcov
 

FPC 2.4.0 released!

> Not for dos, but we have experimented a lot with 6.8 and even 7.0 on
> windows. When we did this last fall, 2.4.0 was already branched off.

Probably a dumb question, but should I join some FPC mailing list to offer my dumb suggestions?? Or are you forwarding the relevant info to them. (E.g. GDB 6.8 builds with 2.04 only, 7.0-pre builds fine with 2.03p2. IIRC, FP.EXE uses GDB 6.2? Easier to build??)

> > BTW, I guess AS.EXE is still only included for comparison (as it's no
> > longer technically needed, right?).
>
> It is needed for the startup code. (when bootstrapping) and as fallback.
> But probably not used a lot.

I was unable to build Watcom RTL, probably bitrotted a bit. Also -TWDOSX never seemed to work, and I'm unable to figure out quickly how to enable it. It needs relocs, and there at least used to be an option for FPC to generate those, but by default it doesn't seem to. Building the GO32V2 RTL had various warnings (including the infamous "lcall indirect * blah" crapola attributed to newer BinUtils). So I'm halfway guessing it could be old code that expects older BinUtils. Oh, and BTW, apparently you never told them (or they didn't care) that UPXing AS.EXE and LD.EXE makes them run slower on Win32. I've rebuilt 2.17 and 2.19.1, personally, if that helps at all. (But I think 2.19 AS.EXE is bloated. 2.16.1 is probably sufficient, IMHO. IIRC, 2.16 was when LD got --reduce-memory-overheads, and 2.17 is when AS got it. So in theory 2.17 AS might be faster.) Are there any plans to use the built-in linker for GO32V2? Shouldn't be too too hard considering it's also COFF-ish like Win32.

P.P.S. My comment about fpctris being bigger is wrong, I didn't use -Os -CX -Oppentium -XXs. So it's about 65k, IIRC, before UPX (27k afterwards??). However, since 1.0.10 is verboten, any size comparison is moot anyways! :-P

> The docs shrink to 6-10 MBish in CHM form.

That would definitely be nice. (I guess you guys don't want to use 7zdecode since it's not Pascal, only C. But AS and LD and GDB are C also, so you aren't that stubborn.)

> > Is it the compiler proper or RTL or both??
>
> RTL mostly delphi parts. In mostly OS dependant code.

Ah, "mostly" is the key word. Seems that 0.99.5 was the last official release to be TP-compatible only. But I can't find that anywhere either. So if the offending code only related to Delphi, that version could be unearthed, I guess. But I'm probably dreaming too heavily. (Yes, I know, newer versions are better, just slightly buggy. I really don't understand DPMI exceptions, though, so I'm no help there.)

> The 1.9/2.0 series changes the calling conventions from FPC's own
> convention to something more compatible. That is the breaker in most apps
> that interface a lot of dos. Trunk changed in dec 2004 iirc. The advantage
> is that Delphi assembler code now runs mostly unmodified.

Well, AT2's examples were very heavily assembly-oriented, and ignoring the useless MemAvail, the main problem was something like @POINTER[]. It was geared only towards TMT (long gone) and old FPC. Meh. I guess no huge huge loss. Honestly, it's kinda silly he even bothered pretending it's Pascal since it used so little, in reality.

IIRC, Quad (DOS) didn't work even in DOSBox, Mandel (Win32) stayed active even when quit, had to be manually killed. So some of the examples need revisiting.

> Probably old stale links, FTP has been removed afaik (and it hurt me quite
> bad to have to remove the versions that didn't have a newer release like
> 1.0.x only targets and m68k). I'll make a note on my todo list to clean up
> the HTML.

Surprising that no one stepped up to fix the old RTL instead of abandoning them completely. Couldn't they borrow parts from GNU Pascal??

marcov

06.01.2010, 22:20

@ Rugxulo
 

FPC 2.4.0 released!

> > Not for dos, but we have experimented a lot with 6.8 and even 7.0 on
> > windows. When we did this last fall, 2.4.0 was already branched off.
>
> Probably a dumb question, but should I join some FPC mailing list to offer
> my dumb suggestions??

Not much point in it, unless you really build the IDE etc with it, and test it.

> Or are you forwarding the relevant info to them.
> (E.g. GDB 6.8 builds with 2.04 only, 7.0-pre builds fine with 2.03p2.

7.0 final is out for ages? Btw, how does djgpp handle with the python and decimal support of 7.0? This optional stuff lead to problems on Linux with 7.0, since some enable it, and some not.

> IIRC, FP.EXE uses GDB 6.2? Easier to build??)

Those 6.2 libs are handpatched by a GDB coremember over several releases. The said GDB coremember used to be FPC coremember. IOW they are a stability island, but now with the move to dwarf we will have to move on sooner or later.

> > It is needed for the startup code. (when bootstrapping) and as
> fallback.
> > But probably not used a lot.
>
> I was unable to build Watcom RTL, probably bitrotted a bit.

No. It was only buildable by knowledgable people to begin with.

> Also -TWDOSX
> never seemed to work, and I'm unable to figure out quickly how to enable
> it.

WDOSX is a bit HX like. A modification for the win32 target so that it is runnable on Dos, not a mod of the dos target.

> Building the GO32V2 RTL
> had various warnings (including the infamous "lcall indirect * blah"
> crapola attributed to newer BinUtils). So I'm halfway guessing it could be
> old code that expects older BinUtils.

Hmm, that should be checked out.

> Oh, and BTW, apparently you never
> told them (or they didn't care) that UPXing AS.EXE and LD.EXE makes them
> run slower on Win32. I've rebuilt 2.17 and 2.19.1, personally, if that
> helps at all. (But I think 2.19 AS.EXE is bloated. 2.16.1 is probably
> sufficient, IMHO. IIRC, 2.16 was when LD got --reduce-memory-overheads,
> and 2.17 is when AS got it. So in theory 2.17 AS might be faster.)
> Are there any plans to use the built-in linker for GO32V2? Shouldn't be too
> too hard considering it's also COFF-ish like Win32.

Since not used they are ancient, created with ancient procedures etc. Hope to upgrade some before 2.4.2.

> P.P.S. My comment about fpctris being bigger is wrong, I didn't use -Os
> -CX -Oppentium -XXs. So it's about 65k, IIRC, before UPX (27k
> afterwards??). However, since 1.0.10 is verboten, any size comparison is
> moot anyways! :-P

Good. Don't forget to look at the author of that program :-)

> > The docs shrink to 6-10 MBish in CHM form.
>
> That would definitely be nice.

I'll see if I can upload them (even if slightly corrupted) next weekend

>(I guess you guys don't want to use
> 7zdecode since it's not Pascal, only C. But AS and LD and GDB are C also,
> so you aren't that stubborn.)

I don't see what 7zdecode would be good for in this context. As far as I know 7zdecode is a decompressor for a solid archivetype, not a helpfile system.

And helpfiles are never solid.

> > > Is it the compiler proper or RTL or both??
> >
> > RTL mostly delphi parts. In mostly OS dependant code.
>
> Ah, "mostly" is the key word. Seems that 0.99.5 was the last official
> release to be TP-compatible only.

Yes. But now you managed to find a release that I even hate more than 1.0.10 (or well, actually I hate every older than 1.0.10 more than 1.0.10, but I hate 0.99.5 in particular, since it required special code added for *EACH* assembler procedure because it had a bug in the prologue/epilogue code. The are more funky stuff in older 0.99.xes (like cltd<>cdq opcode being renamed several times)

> But I can't find that anywhere either.

Keep it that way.

> So if the offending code only related to Delphi, that
> version could be unearthed, I guess. But I'm probably dreaming too
> heavily. (Yes, I know, newer versions are better, just slightly buggy. I
> really don't understand DPMI exceptions, though, so I'm no help there.)

No it is not that. In general the 1.0 and 2.0 are 5 years apart in one single blow, without any significant inbetween versions. There are 15000 CVS commits inbetween, and heaps of stuff is changed. And most of it for the good, and with reason.

If 2.4 is too big for some strange fruit kind of idiotic passtime, cut down 2.4 sources. Don't mess with older releases. Period.

> Well, AT2's examples were very heavily assembly-oriented, and ignoring the
> useless MemAvail, the main problem was something like @POINTER[].

That might not be a bug. It might be selecting the wrong compiler dialect mode. Modes TP and Delphi follow the borland way, the default(fpc) and objfpc modes require an extra disambiguating @ here and there.

> It was
> geared only towards TMT (long gone)

No still exists. Last release in 2007 or so, as "framework pascal". Even though there were releases after 2000, not much interesting happened though, afaik.

> IIRC, Quad (DOS) didn't work even in DOSBox, Mandel (Win32) stayed active
> even when quit, had to be manually killed. So some of the examples need
> revisiting.

Definitely. They are not used much, since most people don't even bother with console or old-school graphic libs.

> > 1.0.x only targets and m68k). I'll make a note on my todo list to clean
> up
> > the HTML.
>
> Surprising that no one stepped up to fix the old RTL instead of abandoning
> them completely.

There was nothing to fix. Most of the problem were design issues of a organically expanded RTL as targets were added.

> Couldn't they borrow parts from GNU Pascal??

First, it wasn't missing parts, but design problems and problematic compiler.

Second, GNU Pascal is general in worse state than FPC, and has much less code (the whole compiler is essentially a patch on gcc), so even if there were missing parts in FPC, you couldn't get much from GPC. Even not if you include C code, since you'd pull in whole GCC, and it would become an unmaintainable mess.

Rugxulo

Homepage

Usono,
06.01.2010, 23:25

@ marcov
 

FPC 2.4.0 released!

> > Probably a dumb question, but should I join some FPC mailing list
>
> Not much point in it, unless you really build the IDE etc with it, and
> test it.

Er ... unlikely.

BTW, did you know RHIDE had an unstable Cygwin build? Old, though, 2003, probably not too useful.

> > Or are you forwarding the relevant info to them.
> > (E.g. GDB 6.8 builds with 2.04 only, 7.0-pre builds fine with 2.03p2.
>
> 7.0 final is out for ages?

Oops! Haven't heard anything from Eli. Guess he never finished or is just working on 7.1 now. I never heard from you either whether you had success about GDB or even contacted Eli or Andris. (Not that I'm anybody, just saying I'm out of the loop.)

> Btw, how does djgpp handle with the python and decimal support
> of 7.0? This optional stuff lead to problems on Linux
> with 7.0, since some enable it, and some not.

Dunno, haven't tried it. You'd have to ask Eli. IIRC, (I thought??) he implied it all worked okay for him at one time.

> > IIRC, FP.EXE uses GDB 6.2? Easier to build??)
>
> Those 6.2 libs are handpatched by a GDB coremember over several releases.
> The said GDB coremember used to be FPC coremember. IOW they are a
> stability island, but now with the move to dwarf we will have to move on
> sooner or later.

It's not that I care for old GDB in the IDE itself, but having 6.1.1 separately seems senseless when that's an easy "drop in" upgrade. But I guess you guys don't "need" it right now. (Andris' 6.8 supports --tui , though, which might be useful when used standalone.)

> > I was unable to build Watcom RTL, probably bitrotted a bit.
>
> No. It was only buildable by knowledgable people to begin with.

Such as who? It doesn't look like it works at all now.

> > Also -TWDOSX
> > never seemed to work, and I'm unable to figure out quickly how to
> enable
> > it.
>
> WDOSX is a bit HX like. A modification for the win32 target so that it is
> runnable on Dos, not a mod of the dos target.

I tried both DOS and Win32 versions of 2.4.0, and -Twdosx didn't work on either. Like I said, the Win32 output by default doesn't use relocs, and WDOSX always needs those for PE files.

> > Building the GO32V2 RTL
> > had various warnings (including the infamous "lcall indirect * blah"
> > crapola attributed to newer BinUtils). So I'm halfway guessing it could
> be
> > old code that expects older BinUtils.
>
> Hmm, that should be checked out.

Especially if it might be the causes of some of the regressions! (Same warnings in Quake, BTW, which is also pretty old code.)

> Since not used they are ancient, created with ancient procedures etc. Hope
> to upgrade some before 2.4.2.

But LD.EXE is indeed used in DOS 2.4.0, AS.EXE not. Hard to imagine somebody doesn't intend to make the internal linker support DOS too.

> > P.P.S. My comment about fpctris being bigger is wrong, I didn't use -Os
> > -CX -Oppentium -XXs. So it's about 65k, IIRC, before UPX (27k
> > afterwards??). However, since 1.0.10 is verboten, any size comparison
> is
> > moot anyways! :-P
>
> Good. Don't forget to look at the author of that program :-)

I did, but it still doesn't work (you can't actually play if lines don't disappear). Try it yourself if you don't believe me. (Install DOSBox if needed.) Or should I post a screenshot??

> > > The docs shrink to 6-10 MBish in CHM form.
> >
> > That would definitely be nice.
>
> I'll see if I can upload them (even if slightly corrupted) next weekend

Eheheh, corrupted? Wha?

> >(I guess you guys don't want to use
> > 7zdecode since it's not Pascal, only C. But AS and LD and GDB are C
> also,
> > so you aren't that stubborn.)
>
> I don't see what 7zdecode would be good for in this context. As far as I
> know 7zdecode is a decompressor for a solid archivetype, not a helpfile
> system.

Okay, obviously this has been mentioned before. 7-Zip compresses better than .ZIP. The INSTALL.EXE of FPC has built-in unzip, apparently. 7zdecode is ANSI C, easy to build with various compilers (I've done so). You could definitely write a FPC program using the C part as interface to 7Z/LZMA/LZMA2 files. And .7z files can indeed be semi-solid. Never mind, it's just a crazy idea to not have such big downloads. But I guess since separate files are (usually) provided for DOS anyways, it's no biggie. Just seems silly (to me) to use .ZIP when something else works better and is also portable.

Okay, obviously you don't care about this, I'm sorry I brought it up again.

> Yes. But now you managed to find a release that I even hate more than
> 1.0.10 (or well, actually I hate every older than 1.0.10 more than 1.0.10,
> but I hate 0.99.5 in particular
>
> > But I can't find that anywhere either.
>
> Keep it that way.

Uh ... if it works, even if slightly buggy, it's better than nothing. (And BTW Simtel still has fpc100.zip, ugh.) People still use BP7 / TASM / Vista / etc. despite outstanding bugs. :-P

> No it is not that. In general the 1.0 and 2.0 are 5 years apart in one
> single blow, without any significant inbetween versions. There are 15000
> CVS commits inbetween, and heaps of stuff is changed. And most of it for
> the good, and with reason.
>
> If 2.4 is too big for some strange fruit kind of idiotic passtime, cut
> down 2.4 sources. Don't mess with older releases. Period.

I already figured that, but I kinda wanted to know what was expected, what worked before. Sometimes it's actually useful having old code to diff against to find bugs. I'm not saying 2.4.0 is hugely buggy, but ....

> > Well, AT2's examples were very heavily assembly-oriented, and ignoring
> the
> > useless MemAvail, the main problem was something like @POINTER[].
>
> That might not be a bug. It might be selecting the wrong compiler dialect
> mode.

Nope, changed that, didn't help.

> Modes TP and Delphi follow the borland way, the default(fpc) and
> objfpc modes require an extra disambiguating @ here and there.

Still annoying when old code breaks. (Apparently GPC 4.1.2 isn't against that either.) I understand it's often unavoidable, but it's still painful. I guess it's partly (mostly?) the AT2 guy's fault.

> > It was
> > geared only towards TMT (long gone)
>
> No still exists. Last release in 2007 or so, as "framework pascal". Even
> though there were releases after 2000, not much interesting happened
> though, afaik.

Latest TMT for DOS seems only available for "educational use", which means you can't sell or even redistribute anything made with it. And it's not free (no lite version either). They do seem to sell a Win32 and DOS combined version of "Framework", but the OS/2 and Linux ones are nowhere to be found. Similarly with Irie Pascal, the DOS version is gone (and price tripled, too).

> > IIRC, Quad (DOS) didn't work even in DOSBox, Mandel (Win32) stayed
> active
> > even when quit, had to be manually killed. So some of the examples need
> > revisiting.
>
> Definitely. They are not used much, since most people don't even bother
> with console or old-school graphic libs.

You do realize that having buggy examples is bad P.R., at the very least. I'm really not picking on you, but if they don't work, why include them???

> > Couldn't they borrow parts from GNU Pascal??
>
> GNU Pascal is general in worse state than FPC, and has much less
> code (the whole compiler is essentially a patch on gcc), so even if there
> were missing parts in FPC, you couldn't get much from GPC.

I meant mainly the Borland-compatible units they rewrote. Or is even that not compatible somehow?

Laaca

Homepage

Czech republic,
07.01.2010, 11:12

@ Rugxulo
 

FPC 2.4.0 released!

For next version we should in DOS version:
* fix and optimize various problems in unit Graph. The drawing routines in banking modes are very primitive - f.e. procedure Bar which draws filled bar just plots X x Y pixels - terrible
* add support for truecolor graphic modes in Graph unit

Clean sources for IDE
* remove unit VESA from IDE directory and fully rely on units from RTL like VIDEO.PP, MOUSE.PP, etc.
* most HTML formating units from IDE directory could be replaced to some FCL units.


About pointer vs @pointer issue:
I think the rules when use what are quite clear - I don't believe that here is any problem in compliler - it is in your code.

---
DOS-u-akbar!

Rugxulo

Homepage

Usono,
08.01.2010, 02:27

@ Laaca
 

FPC 2.4.0 released!

(random Pascal comments)

1). I found FPC 0.99.5 !! Haven't tried it, but I'm still morbidly curious (as long as it's legal).
2). GPC for MinGW doesn't use Glibc on Win32, at least not that I know of (not exclusively, at least, if at all). It does however use MSVCRT (sadly).
3). GPC/DJGPP is much much bigger output than FPC. Heck, I think FPC even beats it with all default debug info, no smartlinking, etc. Yikes.
5). TP1 and TP302 are definitely not smaller / tighter / faster. At least, it seems a simple "99 bottles of beer" is 7k smaller with TP55 than otherwise (and actually redirectable instead of some weird yellow direct console crud).
6). Actually, the "Standard Pascal" version on http://www.99-bottles-of-beer.net isn't standard! I don't think they accept submissions anymore, though. Anyways, I barely hacked up a seemingly "standard" version (no #13#10 parts), and yet it surprisingly compiles fine in all variants I tried (TP55, FPC240, GPC412). That's what they get for trusting one solitary guy (Philipp Winterberg) to write 10 billion Pascal versions. ;-)
7). At one time I tried convincing Jim Hall to include Alice Pascal (in lieu of MS QBasic), but he never agreed.

marcov

10.01.2010, 12:54

@ Rugxulo
 

FPC 2.4.0 released!

> (random Pascal comments)
>
> 1). I found FPC 0.99.5 !!
> Haven't tried it, but I'm still morbidly curious (as long as it's legal).

Hmm, if I look at the dates on those sources it might not be. I thought it was may 1997, but there are '98 dates in the sources archive.

> 2). GPC for MinGW doesn't use Glibc on Win32, at least not that I know of
> (not exclusively, at least, if at all). It does however use MSVCRT
> (sadly).

It uses a libc with a straighter implementation, but it is still effectively a Unix/POSIX port.

> 3). GPC/DJGPP is much much bigger output than FPC. Heck, I think FPC even
> beats it with all default debug info, no smartlinking, etc. Yikes.

I'd forget GPC for everything but last resort for unsupported architectures (and then, better brace yourself and ask yourself if it is worth it), or maybe some select cases of numeric analysis.

> parts), and yet it surprisingly compiles fine in all variants I tried
> (TP55, FPC240, GPC412).

Note that the stuff that the borland dialects don't implement from standard pascal can be counted on one hand. The difference in standard I/O is the one you usually touch first. (Standard pascal provides an one record lookahead by default in its I/O handling, Borland does not)

> 7). At one time I tried convincing Jim Hall to include
> Alice Pascal (in lieu of MS
> QBasic), but he never agreed.

Doesn't store sources in plain text. Makes me weary. What is interesting at all there? Maybe for educational use, but for normal use it seems to limited

Rugxulo

Homepage

Usono,
10.01.2010, 20:13

@ marcov
 

FPC 2.4.0 released!

> > 7). At one time I tried convincing Jim Hall to include
> > Alice Pascal (in lieu
> of MS QBasic), but he never agreed.
>
> Doesn't store sources in plain text. Makes me weary. What is interesting
> at all there? Maybe for educational use, but for normal use it seems to
> limited

I think it can optionally store in plain text or run (bind?) separately from the (syntax-oriented?) IDE. No, it's not probably as useful as FPC, just historic, interesting, open source, 16-bit (e.g. ultra compatible), etc. :-P

DOS386

08.01.2010, 12:17

@ marcov
 

FPC 2.4.0 released! old BUG's still in, DOS and non-DOS sup

Marcov wrote:

> We have placed a new major release of the Free Pascal Compiler,
> version 2.4.0 on our ftp-servers.

COOL (see below) :-|

Rugxulo wrote:

> > RTL:
> > * Linearly scaling multi-threaded memory manager
> (DOS386): "Even in DOS???" :confused:
> (heh, you know he would say that)

if he wasn't already DEAD (see far above) :clap:

Laaca wrote:

> And finaly the behaviour of IDE. In plain DOS the mouse cursor
> draws some chars when moving.

I can't reproduce it ... in my minimal test, this is NOT a neglection of BUG :-|

> But the situation is even worse.
> Just because in win XP it works fine and under DOSbox too.
> It is bad because it is unlikely that some of the core developers
> will test it under plain DOS. And because under win XP it
> is OK nobody will care about it....

Everybody has to think about his own "good news" posts about running "DOS" stuff in non-DOS systems like Windaube & Co , flooding this forum and some other forums and places :surprised:

> And maybe I should test also some other DOS mouse
> drivers than CTmouse...

Good idea but I did use CTmouse in my test and am not aware of any CTmouse bugs not present in competitors ...

[image]

NTLFN ^^^ missing :-|

[image]

again, and ^^^ docs don't work ???

[image]

Done! But why not brew ^^^ a BAT'tery file with SET PATH=C:\PP\BIN\GO32V2\;%PATH% ?

[image]

COOL ^^^

[image]

"voxel" ^^^ compiles well ...

[image]

and even runs ^^^ well, except I couldn't find out how to land on this strange planet, or is it possible that this tiny piece of code doesn't support landing at all ??? :confused: Other strange thing is the "MODEX" ... in the source I see just a MEMCOPY of 64'000 Bytes ( AKA " 64KB " ) to $000A'0000, so the standard VGA 320*200*8bpp mode, no MODEX at all :confused:

[image]

the "FPCTRIS" thing doesn't work :-(

Unfixed old IDE bugs :

* Calculator reboot (apparently TripleFault) on overflow
* 25-vs-50-lines-BUG
* CTL-C-BUG

---
This is a LOGITECH mouse driver, but some software expect here
the following string:*** This is Copyright 1983 Microsoft ***

ecm

Homepage E-mail

Düsseldorf, Germany,
08.01.2010, 14:26

@ DOS386
 

FPC 2.4.0 released!

> Everybody has to think about his own "good news" posts about
> running "DOS" stuff in non-DOS systems like Windaube & Co , flooding this
> forum and some other forums and places :surprised:

As long as the talk about non-DOS systems is as reasonable as now it doesn't bother me, personally. There are things I approve less.

On the topic: Nice to hear FPC is doing well. Used to play with that language back in school.

Back to index page
Thread view  Board view
22632 Postings in 2109 Threads, 402 registered users, 371 users online (0 registered, 371 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum