Free Pascal 2.0 is released!
  • Paladin of the Pegasos
    Paladin of the Pegasos
    poundsmack
    Posts: 1346 from 2003/6/8
    From: USA California
    I supose this link would explain it best, LINK

    thank you ChainQ for all your hard work

    [ Edited by poundsmack on 2005/5/15 17:34 ]
    "Poundsmack, official morphzone thread creator" -LorD
    "Wanna be lord of the avatars." -JKD
  • »16.05.05 - 02:07
    Profile Visit Website
  • MorphOS Developer
    Krashan
    Posts: 1107 from 2003/6/11
    From: Białystok...
    And where is the MorphOS version? I can't see it in downloads.
  • »16.05.05 - 06:59
    Profile Visit Website
  • Targhan
    Posts: 2833 from 2003/2/8
    From: USA
    dittos. where is the MorphOS version?
    :idea:Targhan

    MorphOS portal? www.MorphZone.org
  • »16.05.05 - 09:00
    Profile Visit Website
  • Order of the Butterfly
    Order of the Butterfly
    Chain-Q
    Posts: 347 from 2003/10/12
    From: 1 AU, EU, DE/HU
    Sorry for the delay guys, it was expected to came out with the rest of the platforms, but i'm not at my Pegasos now, and couldn't finish the build & upload on Friday. Expect it to appear today or tomorrow. Anyway, i had very little time to work on it, so it's practically the same as the latest 1.9.9, except the core components from the main CVS were updated to 2.0.0. This results in a few bugs fixed, but that's all.
    [.PegasosII/G4.:.Efika.:.Amiga2000/060.]
    [.Free Pascal Compiler MorphOS Port.]
    [.Hosting AmigaSpirit.hu.]
  • »16.05.05 - 10:07
    Profile Visit Website
  • Targhan
    Posts: 2833 from 2003/2/8
    From: USA
    Thanks Chain-Q! Don't forget to post news when it's available! Also, can it be redistributed here?
    :idea:Targhan

    MorphOS portal? www.MorphZone.org
  • »16.05.05 - 17:41
    Profile Visit Website
  • Order of the Butterfly
    Order of the Butterfly
    Chain-Q
    Posts: 347 from 2003/10/12
    From: 1 AU, EU, DE/HU
    Phew, it's out. Grab it from here. Hope it's not full of bugs, because it's not very well tested. :-D It should also appear soon on official FPC pages, and also on FPC's SourceForge.net page.

    @Targhan: Yes, it can be redistributed anywhere. I'm too tired (and lazy) to post news about it, someone to volunteer? :-)

    Edit: It's now on SourceForge.
    Edit#2: OSNews just put online an article about FPC 2.0. It also mentions that MorphOS is now supported. It also explains quite a lot of FPC internals. Recommended.

    [ Edited by Chain-Q on 2005/5/16 19:49 ]
    [.PegasosII/G4.:.Efika.:.Amiga2000/060.]
    [.Free Pascal Compiler MorphOS Port.]
    [.Hosting AmigaSpirit.hu.]
  • »16.05.05 - 19:20
    Profile Visit Website
  • Targhan
    Posts: 2833 from 2003/2/8
    From: USA
    Thanks Chain-Q! I'll PM poundsmack since FPC seems to be his exact cup-o-tea!! LOL :lol:
    :idea:Targhan

    MorphOS portal? www.MorphZone.org
  • »17.05.05 - 05:12
    Profile Visit Website
  • Caterpillar
    Caterpillar
    TimKack
    Posts: 23 from 2003/8/25
    Hi Chain-Q,

    How is the port progressing?
    I was just converting some .h files to units in linux, when I thought of the MorphOS port.
    If I can find some documentation, I will create a FAM (File Alteration Monitor) unit for MOS as well.

    All the best,
    Tim
  • »04.07.05 - 14:21
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    Chain-Q
    Posts: 347 from 2003/10/12
    From: 1 AU, EU, DE/HU
    Quote:

    How is the port progressing?

    It's quite stable now. Still lacks a few important units, but for now i think it's not less stable than on other platforms.

    MorphOS specific documentation is on the FPC wiki page. About MorphOS's API itself, check out AmigaOS 3.1 autodocs, and include files in MOS SDK. There are also a few MOS-specific examples included in the FPC archive.

    If you have specific questions, feel free to ask. Here, on MDC, or in private e-mail.
    [.PegasosII/G4.:.Efika.:.Amiga2000/060.]
    [.Free Pascal Compiler MorphOS Port.]
    [.Hosting AmigaSpirit.hu.]
  • »04.07.05 - 16:31
    Profile Visit Website
  • Caterpillar
    Caterpillar
    TimKack
    Posts: 23 from 2003/8/25
    I will of course use MDC for questions :-P
    Well, it has been said before but anyway: Good work Chain-Q.
    I have to fetch a copy of RKM and a developer cd for Amiga OS3.5.

    But, I have a question: How can I strip the executable? The file size is enormous for a simple HelloWorld program.
    I checked the FPC documentation and tried $M, but it is still huge.
    Why I ask is because I want to create a task (or tasks actually) that will be in memory all the time.
    I want to optimize the runtime.

    Oh, by the way: Is it safe to spawn tasks (not full DOS processes) with FPC?
  • »06.07.05 - 08:56
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    Chain-Q
    Posts: 347 from 2003/10/12
    From: 1 AU, EU, DE/HU
    The executable is stripped with -Xs command line switch. To strip always, put it into fpc.cfg file. The executable size can still be relatively big (approx. 180k) for a simple "hello world". This is because FPC has it's own runtime libraries, which are statically linked to the executable. If that's too big for you, try smartlinking. It will only link necessary parts of the used units together. You can reduce a simple "hello world" size down to approx. ~49k with this way. That's practically the absolute minimum executable size for now. To enable smartlinking, use -XX switch. But if you compile your own units to use smartlinking, it can be much slower, because then the units are splitted into individual assembler files, which are compiled into separate .o files, then they're placed together into an .a file. So if you compile an unit named "foo" you'll have: foo.ppu which is the unit information file, foo.o which is the "all-in-one" version of unit and libfoo.a which is used for smartlinking. About more information on smartlinking, see the docs.

    And always remember: smartlinking works now, but it's not that polished as it should be. So expect undeleted temporary files/directories here and there, or even linking failures when compiling with smartlinking enabled. So it's probably wise to develop without smartlinking, and enable it for the final testing/release.

    The {$M} switch shouldn't affect executable size at all, it only sets some initial values for RTL (stack & heap size).

    About tasks: to be honest, i never tried creating tasks with FPC, only processes. But i see no reason why it shouldn't work. Of course usual limitations of tasks vs. processes apply here as well. (This is an important thing, so if you've issues with tasks or processes, please report them!)
    [.PegasosII/G4.:.Efika.:.Amiga2000/060.]
    [.Free Pascal Compiler MorphOS Port.]
    [.Hosting AmigaSpirit.hu.]
  • »06.07.05 - 10:07
    Profile Visit Website
  • MorphOS Developer
    itix
    Posts: 1516 from 2003/2/24
    From: Finland
    @TimKack

    Don't use Exec tasks. Although they might work who knows what function call is calling DOS too? Spawning and terminating DOS process is easier than Exec task.
    1 + 1 = 3 with very large values of 1
  • »06.07.05 - 12:30
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    Chain-Q
    Posts: 347 from 2003/10/12
    From: 1 AU, EU, DE/HU
    OK, since a few exciting things happenned around FPC/MorphOS lately, time for a little progress report. The FPC 2.0.2 release is just to be released, MorphOS packages already done, just waiting for the links to be put out on the main site, and for the announcement. Unfortunately i'll leave the city for about a week or so on monday, so i can't wait till the official release happens.

    So let's see what's changed since 2.0.0:
    * Added datatypes.library support
    * Added OpenGL/TinyGL support. It's not finished yet, but already allows to do things like this, this or this.
    * File handling code had some big overhaul, cleanups, and overall it's a lot more stable and robust now.
    * Debug mode in the runtime libraries. It sends messages to MorphOS logserver about file and memory management when you want it to do so. (release RTL is built w/o this, you need to rebuild RTL to use it)
    * Hopefully fixed FPU initialization of RTL
    * Added fancy new eyecandy truecolor icons for directory and documentation. Thanks to Andre 'JoBBo' Siegel for the icons. You can happily browse FPC directory from Ambient now.
    * Unix->Amiga path conversion was broken is some cases for linker script generation. Fixed.

    Of course the above doesn't include the countless minor fixes for MorphOS, and generic fixes in the compiler which happenned between 2.0.0 and 2.0.2.

    And now some teasers, to see what will come for 2.0.4... MUI support! The first PPC native MUI software in Pascal! :-D First really working stuff. And to show something more advanced: a simple custom class, written in FPC. Seems like we're really getting somewhere lately... I hope you like the progress. Feedback welcomed. :-)

    [ Edited by Chain-Q on 2005/11/28 7:07 ]
    [.PegasosII/G4.:.Efika.:.Amiga2000/060.]
    [.Free Pascal Compiler MorphOS Port.]
    [.Hosting AmigaSpirit.hu.]
  • »27.11.05 - 23:05
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    Stevo
    Posts: 888 from 2004/1/24
    From: #AmigaZeux
    What can I say but....Teh Kewl!!11 ;-)
    ---
    http://www.iki.fi/sintonen/logs/its_only_football.txt
  • »28.11.05 - 00:32
    Profile
  • Yokemate of Keyboards
    Yokemate of Keyboards
    takemehomegrandma
    Posts: 2720 from 2003/2/24
    @ Chain-Q

    Wow! :-D

    The MUI support looks really interesting! Is there any chance that you could post the code to, say, "First really working stuff" here? Would be cool to see what it looks like, how you use MUI in FPC ...
    MorphOS is Amiga done right! :-)
    MorphOS NG will be AROS done right! :-)
  • »28.11.05 - 13:42
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    Chain-Q
    Posts: 347 from 2003/10/12
    From: 1 AU, EU, DE/HU
    Quote:

    Is there any chance that you could post the code to, say, "First really working stuff" here?

    Sure. But not now, i'll not have access to my Peg within the next week. I was in hospital this week (I had operation for my bile-stone(?) or gall-stone(?) i don't know the word...) and i'm still at my mom, 250km away from Budapest and from my Peg, where i'm recovering.

    BTW, MUI is really a PITA to support from Pascal, because MUI has a heavily macroed API, and Pascal language structure is generally against macro usage. I'm working around this limitation with a helper unit, which provides clean access to most MUI feature without having to specify miles-long and extremely ugly taglists. Progress are good, but as i said, any progress are stopped for at least a week now.

    (I'm typing this on my A1200/060/AGA miggy, connected to my mom's 20 year old TV, and with GPRS internet access... :-D )
    [.PegasosII/G4.:.Efika.:.Amiga2000/060.]
    [.Free Pascal Compiler MorphOS Port.]
    [.Hosting AmigaSpirit.hu.]
  • »01.12.05 - 12:42
    Profile Visit Website
  • Yokemate of Keyboards
    Yokemate of Keyboards
    takemehomegrandma
    Posts: 2720 from 2003/2/24
    Quote:


    Chain-Q wrote:
    Quote:

    Is there any chance that you could post the code to, say, "First really working stuff" here?

    Sure. But not now, i'll not have access to my Peg within the next week.


    Great! :-)

    Perhaps you could throw in some GL example too when you're at it? ;-)

    Quote:

    I was in hospital this week (I had operation for my bile-stone(?) or gall-stone(?) i don't know the word...) and i'm still at my mom, 250km away from Budapest and from my Peg, where i'm recovering.


    Hope everything went well with the operation and that your recovery is going fine! :-)

    Quote:

    BTW, MUI is really a PITA to support from Pascal, because MUI has a heavily macroed API, and Pascal language structure is generally against macro usage. I'm working around this limitation with a helper unit, which provides clean access to most MUI feature without having to specify miles-long and extremely ugly taglists. Progress are good, but as i said, any progress are stopped for at least a week now.


    That's good to hear! Easy MUI support would be nice on MorphOS, being the default GUI engine and all ...

    Quote:

    (I'm typing this on my A1200/060/AGA miggy, connected to my mom's 20 year old TV, and with GPRS internet access... :-D )


    8-)
    MorphOS is Amiga done right! :-)
    MorphOS NG will be AROS done right! :-)
  • »03.12.05 - 10:41
    Profile
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    matt3
    Posts: 659 from 2004/2/10
    Has anyone developed code in 2.0?

    I tried to compile the demo code, with an invalid parameter followed by a system lockup.

    I did modify the .cfg file with the appropriate paths but one of the lines still fails, although the path looks correct.

    Any comments or ideas?

    Matt
  • »05.12.05 - 15:21
    Profile
  • Order of the Butterfly
    Order of the Butterfly
    Chain-Q
    Posts: 347 from 2003/10/12
    From: 1 AU, EU, DE/HU
    Quote:

    Has anyone developed code in 2.0?

    Well, i did. :-D In fact, since the compiler is also written in Pascal, the compiler is developed in itself, and on MorphOS.

    Quote:

    I tried to compile the demo code, with an invalid parameter followed by a system lockup.

    What/which demo code you tried to build? Could you specify an exact error message, and the command line arguments you got before the system lockup?

    BTW: FPC 2.0.2 is now officially out. Grab it from here.
    [.PegasosII/G4.:.Efika.:.Amiga2000/060.]
    [.Free Pascal Compiler MorphOS Port.]
    [.Hosting AmigaSpirit.hu.]
  • »09.12.05 - 08:08
    Profile Visit Website
  • Leo
  • Order of the Butterfly
    Order of the Butterfly
    Leo
    Posts: 417 from 2003/8/18
    Small problem:

    I followed the installation instructions to install FPC into ram: (just to do a quick test)

    After having typed everything (assign/path/setenv...)

    typing "fpc" will return an error:

    --
    Ram: file is not executable
    Ram failed return code 10
    --

    => Seems like fpc can't be installed in volume having a space in the name (here it is "Ram Disk:")

    Btw, where can I get the OpenGL examples seen on your grabs ?

    Leo.
    Nothing hurts a project more than developers not taking the time to let their community know what is going on.
  • »09.12.05 - 12:24
    Profile Visit Website
  • Order of the Butterfly
    Order of the Butterfly
    Chain-Q
    Posts: 347 from 2003/10/12
    From: 1 AU, EU, DE/HU
    @Leo:
    Quote:

    Small problem: (...)

    Hehe, strange problem. Thanks for the report, i'll look into this.

    Quote:

    Btw, where can I get the OpenGL examples seen on your grabs ?

    Source of the rotating "FPC" cubes is available from FPC SVN, in packages/extra/opengl/examples directory, under the name glutdemo.pp, IIRC. Source of the two other software is currently not available.

    I plan to include more demos for MUI and OpenGL into the next release.
    [.PegasosII/G4.:.Efika.:.Amiga2000/060.]
    [.Free Pascal Compiler MorphOS Port.]
    [.Hosting AmigaSpirit.hu.]
  • »09.12.05 - 13:35
    Profile Visit Website
  • Leo
  • Order of the Butterfly
    Order of the Butterfly
    Leo
    Posts: 417 from 2003/8/18
    @Chain-Q: ok... Are all demos found in opengl/examples supposed to work ?

    Only glutdemo works here... All other demos open a black window and don't display anything in it...

    Leo.
    Nothing hurts a project more than developers not taking the time to let their community know what is going on.
  • »09.12.05 - 15:07
    Profile Visit Website
  • Order of the Butterfly
    Order of the Butterfly
    Chain-Q
    Posts: 347 from 2003/10/12
    From: 1 AU, EU, DE/HU
    @Leo:
    Quote:

    Only glutdemo works here... All other demos open a black window and don't display anything in it...

    As far as i tested, only GLUTdemo works from the standard FPC demos. Sadly other demos using stuff which is not, or not complettely supported by TinyGL (eg. render to texture), so they won't work in unmodified form. :-(

    Some demos could be easily fixed to work with TinyGL, but my opinion is that TinyGL should be fixed instead. :-) (Kiero knows about most of these issues, because SDK mentions them (f. eg. some dummy calls) so i guess these will be fixed some time in the future.)

    [ Edited by Chain-Q on 2005/12/9 23:59 ]
    [.PegasosII/G4.:.Efika.:.Amiga2000/060.]
    [.Free Pascal Compiler MorphOS Port.]
    [.Hosting AmigaSpirit.hu.]
  • »09.12.05 - 15:55
    Profile Visit Website
  • Priest of the Order of the Butterfly
    Priest of the Order of the Butterfly
    matt3
    Posts: 659 from 2004/2/10
    Hi Chain-Q,

    I tried to compile all of the demoes in the demo directory. With the same error.

    That error is:

    Error: Illegal parameter: -Work:development/fpc/bin/powerpc-morphos/

    I typed:

    fpc window.pas

    My fpc.cfg looks like:

    # Example configuration file, for MorphOS/PowerPC
    # Modify the paths below to fit your system.

    #DEFINE POWERPC

    -Work:development/fpc/bin/$fpctarget/
    -Work:development/fpc/units/$fpctarget/
    -Work:development/fpc/units/$fpctarget/*
    -Sgic
    -l
    -veiw
    #-O1r
    -O1
    -Xs


    I did update to 2.0.2 and it no longer tanks out after it fails.

    Thanks much!

    Matt

    p.s. Great job!
  • »15.12.05 - 01:07
    Profile
  • Leo
  • Order of the Butterfly
    Order of the Butterfly
    Leo
    Posts: 417 from 2003/8/18
    Quote:


    -Work:development/fpc/bin/$fpctarget/
    -Work:development/fpc/units/$fpctarget/
    -Work:development/fpc/units/$fpctarget/*



    Of course, while changing the paths you removed the options... it should be:

    -FDWork:development/fpc/bin/$fpctarget/
    -FuWork:development/fpc/units/$fpctarget/
    -FuWork:development/fpc/units/$fpctarget/*

    Leo.
    Nothing hurts a project more than developers not taking the time to let their community know what is going on.
  • »15.12.05 - 08:50
    Profile Visit Website