Archives on Januar, 2017

Amiga LCL goes official 2

Posted by ALB42 on 18. Januar 20172 Comments

The MUI LCL widgetset also got accepted for the official Lazarus repository.
That means the next official Lazarus release will also contain the support for all Amiga Systems and the MUI Widgetset. Sadly the only one usable with the released 3.0.0 FreePascal is i386-AROS. m68k-Amiga has a serious bug, for MorphOS the resource support is missing. Both problems will be fixed for next FPC release 3.0.2. All Other platforms (OS4, ARM-AROS, x86_64-AROS) have to wait until 3.2 because their support was added after 3.0 split. Of course one can use the 3.1.1 compiler for all platforms already, as I usually do and release to public.
But it would be very nice to just install Lazarus via your default package system (deb, rpm, whatever) install your Amiga cross-compilers and binutils(with vasm and vlink it’s really easy) and one is able to use the lazarus as IDE for your Amiga LCL programming.

Today I also got write access to the Lazarus repository, that means I can continue to work on the implementation directly on the official repository.
Already tested and fixed some tiny problems. I will continue to test it on week end, seems there are some new problems inside, at least some of my test codes does not work.

Small, Smaller, Smallest

Posted by ALB42 on 10. Januar 2017One Comment

We (ChainQ and me) activated the section linking for the other Amiga Platforms as well. Freepascal for MorphOS for example will now also use vasm and vlink with section linking. The mentioned MUI demo for example has a size of 82k on MorphOS, so a little bit bigger as on Amiga 68k. Sadly vasm and vlink does not exist for AROS currently (except 68k of course) so there we are bind to the GNU tools. But the AROS ld is much more recent so it supports section linking already. The sizes of the MUI demo for the AROS Platforms: i386: 83k, ARM: 86k, x86_64: 144k. Sadly on AmigaOS4 it still not work, it still needs some fixing in the linker and startup code. Of course it’s nice to have this small sizes on NG Amigas, but more important on the 68k Platform, maybe you remember the compilation attempt on a real Amiga (so not UAE) which needed around 3 minutes and 160 MB RAM. I retried that with vasm and vlink today. It is smaller (1.6 MB instead of 6.5 MB) and also need less RAM for compiling and linking (around 100 MB instead of 160 MB), really nice. The speed does not really change, because it is limited by the Harddisk speed, which is around 1.2 MB/s only for my A1200. I’m thinking to use the SCSI of Blizzard 1260 but I need a fast SCSI to SATA Adpater or so, the one I found in Internet seems not so good, no synchronous transfer, questionable compatibility with the SCSI interface of Blizzard.

Small is beautiful

Posted by ALB42 on 7. Januar 2017No Comments

Something really awesome is going on in the Amiga Freepascal world. ChainQ is working together with Frank Wille (the Author of vbcc) to optimize the size of executables created by freepascal compiler. Some things had to be included to freepascal and vasm (the Assembler) and vlink (the Linker) had to be adjusted to freepascal, hence you need the latest nightly to test this. The result is truly remarkable.
Just as an example, I compiled the MUI-Demo from the muihelper session.
With LD it has 321k with the new section linking it has around 50k and of course it still work.

The original binary MUI Demo is around 25k, the difference should be the RTL which needs a little bit space, but also delivers more convenience and securtiy features for the coder (like string handling, memory management and helper functions)

We use the vlink a while already on Amiga m68k because it’s much faster and do not depend on ixemul.library. Now it also creates much smaller files. So no reason to keep the old GNU ld and with the vasm we also do not need the GNU as anymore, so in principle both ixemul.library dependencies are gone. I will test that a while expecially also with LCL applications, they are huge now, I’m curious how somall they can become.

If you would like to test download a current nightly for m68k-amiga. I included the vasm and vlink already and also activated it as default.

The same thing should be also working for MorphOS, this I will try soon, so stay connected.

Amiga LCL goes official

Posted by ALB42 on 3. Januar 20174 Comments

As explained in the 2016 summary I started to try to introduce the MUI LCL Interface to the official Lazarus subversion repository. I started with the basic compilation nogui LCL, which is a rather small patch (when compared to the complete new MUI widgetset). Today I got answer (after posting that as Bug in the lazarus bug tracker) and the patch got accepted to the official repository. That was my introduction, so now I would like to also include the MUI LCL which will be my next target. It would make the development so much easier. Especially because they change a lot in Lazarus over the time. My branch at github is again so outdated that it means again a new implementation to bring it to latest status (for the 4th time). If it is in the official repository I will directly notice if something change which need my attention. And the people will see the HASAMIGA defines everywhere and maybe care about to not break it 😉