Archives for Amiga

Ask Your Amiga 0.5

Posted by ALB42 on 15. April 2021No Comments

I added assumptions to Ask Your Amiga. Assumptions are the way the different meaning of one word are separated from each other in Wolfram alpha. For example if you ask for “Berlin” it will show you information about the capital of germany, but also shows you a list of other cities (mostly in USA) named Berlin and also other meanings like Berlin as a name or a music band (never heard that before) and so on.

Like on the web page I put these assumptions to at the top of the results to select from a cycle widget.

AYA 0.5 with Assumptions

Download latest AYA at hte AYA Page or use the build-in Update Version

Test Result

Posted by ALB42 on 23. März 2021One Comment

Some might wondering what happened to the Free Pascal test result on the Amiga. There are some reasons I did not write about the results. 1. it took much longer than though, especially later tests need much longer to compile and run (more like 30s per test) and 2. some tests crash what leaded to idling computer half of the night until I can let it continue, overall it stopped 8 time, of which it was 3 times a “Guru” and 4 times the enforcer (of Draco) killed the program before it could crash the computer because the program accessed some memory it’s not supposed to and once the Hard disk went full and it stopped with a Disk full requester (I did not notice that the logs and programs need such big amount of HD).

Overall 326 tests are failing either do not compile or the compiled program does not work correctly + for mentioned 7 that crash, which is much more than the m68k-linux test for this compiler version which should be around 40 or. I guess that must be some implementations are missing for the Amiga. I saw scrolling by some Link LibC or other c library errors, which will not work because we did not implement that. The rest I have to check slowly the next days.

It’s not bad after all, 333 tests give problems means around 5600 tests ran well without problems and my Draco did run 3 days without interruption without any problem, also nice to know. After checking the errors, maybe I can fix some of them and make a test list without the 7 crashing tests that I can run on one go. I should repeat that test with the latest Free Pascal and compiled for FPU, especially some tests which are not working with the qemu setup I’m using atm. (if they really show an FPU compiler error or just an qemu problem)

ALB goes crazy episode 9843: Free Pascal test suite on a real Amiga

Posted by ALB42 on 20. März 2021No Comments

Again got a crazy idea… after my attempts to run the Free Pascal test suite on a real m68k linux (I’m not sure whats the problem it it just stopped at some point but did not start the actual tests) I looked a bit closer how these test run is designed (with a bit Makefile, which does not work on Amiga even with unix kind shell installed, I tried already) I wrote a little program make the list of tests and I got around 5800 test, not the same amount as the original (which is nearly 9000) but ok for first list creation, later maybe find out where are the other tests hidden.

the “dotest” util making the actual test (checking if on the right CPU/OS/Version and so on) does not run because it’s only implemented for windows/dos and unix… and full of {ifdef windows}doDOSstuff{$else}doUNIXstuff{$endif} or vice versa… I made some very nasty changes and implemented a little routine for Amiga to make it at least work to run the tests gather the output and check return code and it works.

Next transfer everything to my Amiga (Draco 68060 in this case) and start and press all thumbs it works somehow.

And? Yeah it works, needs around 10s per test hmmm that makes around 16h for the full 5900 tests :-O ok the Draco is very stable, I just hope none of the test let it crash 😉 lets see tomorrow the result, which tests fail and why 😉 (running currently with 3.2)

If that works well I should also make a run with FPU (thats SoftFPU atm.)

Docker direct compile and AROS update

Posted by ALB42 on 14. März 2021No Comments

Besides the documentation work I also updated the docker container. I created 4 scripts to compile directly from the docker (without using VNC/lazarus) so you can directly compile in your linux installation, that there is a docker container behind it you barely notice. But it only can compile standard Free Pascal things, no LCL applications (missing pathes to the lcl units, also not easy possible, but without Lazarus make not much sense, I think)

The AROS compilation had a big problem, when you compile without -g option it tries to strip but the strip tool was not installed, so I added some more tools to make it possible to compile without -g (makes the executable much smaller)

On this I updated the lazarus version to the latest version 2.0.12 as well.

If you want to use the newest Version of the docker (with the AROS bugfix) start the “CheckForUpdate.sh” script if you also want to have the direct compile command download the CrossAmigaLazarus Package.

Documentation

Posted by ALB42 on 8. März 2021No Comments

This weekend I extended (and sometimes created) the documentation for all four Amiga systems library units (amunits, arosunits, morphunits, os4units) and the util units (ami-extra).

It is available as chm file or HTML pages created with the Free Pascal fpdoc tool. The documentation is kept in separate XML file, I created a GitHub repository for that.

The build server compiles the documentation on every change and put it for download an direct use to the build server pages

There is also a new SDK (3.16) for MorphOS which also has some new function to handle TLS-memory functions (Thread Locale Storage) to handle variable switching for different threads. Charlie wants to use them for Free Pascal thread implementation for MorphOS (AThreads). To make it easier I checked the current SDK and tried to update the Free Pascal library units for MorphOS. (of course not only the TLS functions, but all updates I found). And to make it even easier also created the documentation for these functions.

My long term plan is to have for many of the library units functions an example code, I added now example code for ExamineFH, Examine/ ExNext and MatchFirst/MatchNext.

Docking complete

Posted by ALB42 on 17. Dezember 20203 Comments

As promised I worked on the Amiga OS 4 problem in Lazarus Cross Amiga Docker. I tried to used vlink and vasm for it, but it seems vlink has some problems with the resources. But when switching back to the GNU tools (as and ld) it again works.

Cross Amiga Lazarus compiles for Amiga OS 4

I also added a little Updater Script to the archive, so if you want to use the new Amiga OS 4 download again the archive. Start the script ./CheckForUpdate.sh if there is a newer version of the docker it will automatically download.

Have fun!

Docking on Amiga

Posted by ALB42 on 6. Dezember 20202 Comments

I’m playing with docker and how to put Free Pascal for Amiga Systems and even Lazarus inside a docker container. Works quiet nicely with the latest FPC (3.2.0) and Lazarus (2.0.10), sadly there are some bugs in the published MUI interface for Lazarus, or better left overs of old Free Pascal inconsistencies between the Amiga flavors. I fixed them in FPC but did forget to remove the workarounds in the LCL. So I had to patch the official LCL. Must also check them in the official repository. Sadly the OS4 the LCL compile does not work at all, something wrong with the resource stuff, so I removed it for now. I will look into it later. So still some stuff to work on.

To actually use the Lazarus IDE I also installed a VNC server and hence also a small as possible window manager, I played around with some simple one, most old simple window managers are very annoying (e.g. twm) but icewm seems to be nice (looks like Java though).

And why docker? It’s much easier to keep the software up to date and there are automatically running scripts to create, modify and start them. But there are some drawbacks. The first compilation of a LCL program for any Amiga-style system will need a long time (as seen in the video), because it will compile the whole LCL. This will happen for every start of the docker container. This is good to have a clean compilation of LCL (especially when developing on the actual LCL) but a bit annoying when only compile simple programs. There should be some ways around it. But for now for me that’s good enough.

If you want to try it out: CrossAmigaLazarus

Online FPC with FPU

Posted by ALB42 on 8. November 2020No Comments

You know the online FPC compiler, right? Until now it was only with soft float because usually that is enough. But I added now a possibility also compile with FPU enabled (therefore the resulting program will need a FPU, but will run much faster). For example the raycaster I presented the last days only runs this fast with FPU. And because it’s just a single file, it is perfect for the online FPC compiler, Have fun!