FPC Amiga/AROS m68k

Posted by ALB42 on 9. September 2014

FreePascal for m68k AROS/Amiga

  

Check for more informations this blog or: FPC-AROS Wiki

Binary releases:

FreePascal 3.2.2 for m68k-amiga with Installer MD5: 5cc5f13fb3f5b2f53b9d79abf6d7ef53

  

   

 

older release:

FreePascal 3.2.0a for m68k-amiga with Installer MD5: cce4e7439a2b387bf0fdf448ea3cf60c

FPC 3.1.1 m68k-amiga including LCL (Release 26.08.2017) MD5:
8e82598618d589307f8ef9741f9a071b
Beware: LCL for m68k Amiga is still in a very early alpha stage!

FPC from trunk for m68k-amiga (Release 14.09.2014) MD5:
cee25d68e5be6a23f9c0df0a7e89bf1e
Check nightly release packages for work in progress packages.

 

Crosscompiler:

Check the Lazarus in a Virtual machine for cross compile environment.

 

Sources:

FPC Source (official Version): from freepascal.org

svn checkout http://svn.freepascal.org/svn/fpc/trunk fpc

 

Programs written in FPC for Amiga:

 

Programs written in FPC for m68k-AROS:

AROS Debug View a debug output viewer, with filter and network support

ShowWindows A program to list the current windows on screen with parent relations

19 comments to "FPC Amiga/AROS m68k"

  1. Jon Lennart Aasenden sagt:

    Awesome! Where is LCL for classic Amiga?
    Surely the MUI stuff should work there to right?

    • ALB42 sagt:

      LCL for Amiga and MorphOS is still not really in a shape to use it.
      Especially on m68k-amiga its not very nice to use, its just too slow and needs too much memory
      as Reminder: 256 Mb RAM

      • For me personally i only use things like this on VMWare (fpc/delphi) and WinUAE(fpc) .. after i posted a few notes about this, quite a few became interested in using FPC.

        I really hope you continue this work — while development would primarily be done on a PC using WinUAE, the generated binaries could be used on a real amiga. I coded a small AmiZIP utility, and it works fine 🙂

        Again, please continue — i would be able to chip in and maybe create a small IDE for it. Like i did for Smart Mobile Studio

  2. How is the state of 68k FPC with working headers?
    When can i start porting over my codebase?
    Please Alb – we are now quite a group hoping for this — first 68k and then Aros. The 68 needs it the most these days. Especially for kids learning to code — i know two schools in the area who wants fpc on the PI — which is a brilliang wait to show them UAE autobooting into WB — and there i can deliver whatever they like.
    Including a nice port of my editor component (not synedit) that will make the first IDE so lean and mean.
    Please dont drop the ball on 68k!!
    What is the problens since you are not finishing it?

  3. ALB42 sagt:

    the Amiga 68k headers are the most complete of all Amiga systems (and of course they work also for AROS 68k, the differences are not very big)

    What you mean with not finish it? 68k is working very nicely, what problem you got?

    • Hi Alb!
      I was refering to the text in your download: „Beware: LCL for m68k Amiga is still in a very early alpha stage!“. I got the impression that LCL is not really ready for use?

      Anyways, I did get it to work – but i had some problems compiling your demos?
      In the end I started adding units like crazy, and then i ended up with an executable 60 megabytes in size (!)

      Does the compiler generate a reloc table? I cant understand how 68k could even generate that much code even if you included all the units?

      • ALB42 sagt:

        It is in early stage… most likely because it lacks testing and user and therefore motivation to improve it. Some Elements do not work. But it is definitely usable for small/simple projects.
        Problems result from Zune(AROS) to MUI differences, because I developed it for AROS and Zune, and extended it later to MorphOS/Amiga with MUI. And to be honest real 68k Amigas are a little bit too slow for full fledged LCL Programs. LCL (like Delphi VCL) is a very thick and powerful layer, but of course this needs memory and CPU time.

        What example did you compile? if you get 60 MB executable, I guess that means it still contains the debug information. You need to strip that file, sadly the cross-amiga strip on Linux seems to have some problems. But you can download a strip from aminet and use that directly on Amiga. It still stays rather large afterwards if you used an older compiler or the virtual Lazarus.

        If you read my blog regularly, you should have noticed that we were working on that size issue read this blog entry „Small is Beautiful„. So with newer Versions it will be a lot smaller.

        If you want to discuss this more, or get some more informations about it would be nice to join our newly created FreePascal@Amiga SubForum
        It’s not linked anywhere because I just got it yesterday.

        • jon l. aasenden sagt:

          i just ordered the Amiga x5000 so i can help out with lcl for os4 as we talked about on email. hoping to hear from you soon 🙂

  4. Roddi Walker sagt:

    Hi Marcus, I’ve been using your online FPC compiler to build Amiga OS 3 binaries for my A1200. But today it’s not working – it compiles, but the „Executable“ link is broken. Firefox says it can’t find the randomised amigaXXX.exe file. Are you able to fix it? I was enjoying coding in Pascal again 🙂

    • ALB42 sagt:

      Yes, thanks for the notice, I moved everything to a new server, seems I missed to change a path in the script, Should work now again, Sorry for inconvenience.

  5. Mo Ahaddour sagt:

    Hi ALB42,

    I just noticed that the binary releases and nightly build links won(t work.

  6. Brielle Harrison sagt:

    Hello Alb, I know Jon Aasenden pretty well (in fact if I didn’t know him I may never have found you!). I was a bit frustrated since I am somewhat new to Pascal and wanting to write software for 68k classic Amigas. The documentation is a bit sparse if you don’t know Pascal well.

    So in an effort to both familiarize myself and learn a bit more about the units it ships with I started playing with the ppudump tool. The tool works on a lot of the ppus found in the units/m68k-amiga/amunits directory but there are plenty of ppu files that ppudump does not work on.

    For example if you try running it on units/m68k-amiga/rtl/system.ppu the result is an error with the following output

    $ ppudump -Fj -VA system.ppu
    An unhandled exception occurred at $40E3373E:
    EConvertError: 2026-14-1 is not a valid date specification
    $40E3373E
    $40E34968
    $40E1F38A
    $40E1FCD2
    $40E20578
    $40E14996

    I would love to be able to dump all the m68k-amiga ppu files to json for a docs creating project I am working on. But without many of the used units being able to be dumped I am running into issues. Most of the time the high level error given is 217 and something to do with a date issue.

    Can you please take a look at this? Also, if you have more information about the possible combinations of values in the output JSON, XML or text, that would also be appreciated. I’d love to know what the format allows for.

  7. Nick sagt:

    Hello Alb42 – I just wanted to thank you for all your great work with the freepascal compilers for the Amiga68k.

    I’ve managed to use your docker container to port my little game to Amiga 3.1

    https://github.com/RetroNick2020/fiveline-port-to-freepascal-amiga68k

    I noticed that you are able to compile apps for 1.3 using your Online compiler.

    Would you be able to share how you are doing that?

    • ALB42 sagt:

      nice, grats, always nice to see someone find it useful.

      it’s very new and not available in the 3.2.x releases, (It will be officially released with next major release, 3.4 or 4.0 or so) and therefore also not included in the docker container.

      so you need to compile the units for yourself, so you have two different sets of units one for normal OS3.x and one for OS1.x
      see this wiki entry for more informations

      • Nick sagt:

        ok – I see. I thought i missed something with the compiler switches. Looks like it is a little beyond me at this point.

        I will keep playing around with what you released. This was so unexpected to be able to compile to a different target with such ease.

        The docker solution is the way to go with cross compiling.

  8. Francisco Manera sagt:

    Hello!

    I am trying to use the function FindAllFiles. ALways return me empty on Amiga when i try to find any file with any pattern. Is something wrong with that function in m68k?

    Grettings from argentina

    • ALB42 sagt:

      to be honest, I have no idea, I never used that function. remember when you use it you have to use ‚*‘ as Wildcard the Amiga style #? will not work.