Some days vacation, used the evenings in hotel to re implement Mapparium in native MUI and with fpimage for loading the PNG files and Drawing. The Drawing is faster than LCL (the LCL wrapper is huge, already slow) but still rather slow. At last I wrote a own Drawing routine which made it fast enough to start it on a native Amiga with Vampire A600. And it’s nicely usable even without FPU but of course on a RTG Screen.
I bought a neat eat toy for me. An A600 already equipped with an Vampire processor card. A Vampire is an FPGA based CPU card for Amiga 500 and Amiga 600. A while ago I thought already about to buy a Vampire card. The delivery times for it are very uncertain and seems in the order of 6 Month. I even would need to buy an A600 first, I was really to lazy to do such step with uncertain future. But I found an ready to use one one ebay. Maybe a little bit more expensive but thats fine by me, still much cheaper than a 68060 or PPC card. 😉 The capacitors are exchanged but the audio sounds strange, but not a big problem for me. Mainly I’m not interested in the speed but but in the GFX Card which comes with the FPGA on Vampire. Its the only way to get a 24bit GFX card into a keyboard Amiga (except the very seldom BVision for A1200). Of course my for me very interesting if freepascal and it’s programs work with it and good news on this side, it’s working nicely. The only problem (like on my A1200) is the slow harddisk which makes it much slower then UAE but as I read the next firmware should improve that a lot. Of course a screenshot (done with a screenshot program I wrote in FP-IDE directly on my A1200 some weeks before)
Didn’t have much time today, so I only show a cute little program to learn typing, out of the box compiled for AROS TappyTux, also with Mathematics. still not perfect, needs a little bit work, (sometimes the text is outside), it throws 2 hammers and so on.. but even so very neat.
Playing a little bit with loading routines for vector formats and found the amazing fpvector package. It contains also a nice test program to test loading of files. It works already very nice loading of .svg and .dxf Files. For example .odg files does not work some string to float problem. Also the drawing works rather nicely but also shows some problems with the filled polygons. Worth to try to compare with the Linux version.
Still playing with raytracing (so 3D calculations without GL or so) and other 3D Stuff. Magorium converted a nice little raytracing program from C to Pascal. It creates a random scene and calculate it with high precision. It makes a nice pictures. It is using SDL for display and threading, it seems the SDL Threads do not work, so I changed that to use Pascal Threads and now it is working nicely. Again a nice program for SMP 😛 already ready to use multiple threads (at Linux it runs fine with 8 Threads)
After long time I did again a little bit raytracing stuff, magorium found some source, I reviewed some of my old sources. I would be a perfect thing for the coming AROS SMP, ok I guess it will not appear so soon but it’s really a nice thing.
Notice the multicolor shadows and the multiple refelections.
I never worked with SDL before so I searched for a little tutorial for it and came across a YT video showing SDL game making with freepascal YouTube Link.
I tested the source and applied the special changes for AROS (basically to initialize the SDL and other link libs) and it works really a nice tiny game. I will look more to source to understand the SDL behind it. But first of course a little video
Again a year passed so I will try to give a short summary about things going on in the Freepascal world for Amiga-style systems.
In Januar 2016 a big change in Freepascal was done to fix the Varargs version of the amiga library version. All “array of const” are replaced with the better “array of PtrUInt” which is much better to emulate the open end parameter list
A little funny new experience started also in March. I created the first 64Bit ABIv1 AROS distribution. Mainly, of course because I need a test field for the FreePascal AROS x64. For me x64 would be the perfect successor of the i386-aros ABIv1. My suggestion for AROS developer would be to leave i386 ABIv0 as it is, backport changes to there. And change then to x64 ABIv1 (and do not use/promote i386 ABIv1). But the x64 AROS still need much work, many things still crash, much code still cast Pointers to integer so not 64bit ready. This is also the main reason the 64bit distribution did not get much new version, not much changed with the problems there, I retest the usual problems from time to time. Also the FPC 64bit had big problems, which I found out end of 2016 are mainly alignment problems, where AROS made it’s own life much harder than it should be. (reminder “stacked int”s)
EdiSyn got a new Version with some bugfixes and basic printing support. End of year it got also a ARM version of EdiSyn to public with some more advanced features.
I also tried EdiSyn on MorphOS and Amiga. But both have some problems because of the different behavior of MUI and Zune. And I did not took much work on it because on MorphOS there is already a very good Editor with syntax highlighting and on Amiga m68k it’s just too slow. But in principle it works just LCL need some more work.
LCL on a native Amiga got some improvements to work also if no Graphic card is present, like my A1200 and also ported the usual suspects to m68k Amiga.
I used already a Lazarus on Linux to cross compile to AROS i386, in April I created a Lazarus which can cross compile for all supported Platforms (AmigaOS 3, AROS, MorphOS). Because it worked to nicely I planed to release a Lazarus for Linux including the binutils and cross compilers for all Amiga systems. But I noticed it is very difficult, even to write a Manual how to install such a systems. Therefore I decided to create a virtual machine which includes Lazarus, cross compilers and binutils for all Amiga Systems. After Amiga OS 4 was added to Freepascal and LCL I released a 2nd Version including the Amiga OS 4 binutils and cross compiler.
ChainQ implemented FreePascal for OS4 long time before already but because of changes in FreePascal and without a maintainer it did not compile anymore. In April ChainQ resurrected it and fixed some basic things, make it self compiling again. Then I took the lead and implemented some OS4units bring FP-IDE to work and finally the LCL with the usual suspects for OS4. Which resulted to a Amiga OS 4 FPC release including LCL. I will continue to maintain the OS4 fpc but will not improve it much more, maybe someone will appear to continue it especially with the unusual interfaces can be found on AmigaOS4.
I continued to work on applications using my LCL. This time I got the idea to create a Map application showing routes of my bike GPS. I played around with google maps API and openstreet API. Openstreetmap is much better because google maps you are forced to use the google libs which is difficult at AROS. It get somereleasesforallavailableplatforms. I also experimented with GPS support, first via a extra program later also directly inside Mapparium, which is still not released.
Long Time before I got the direct linking of C static objects to freepascal programs at AROS to work, which was really nice, but no real program resulted from it. On magoriums work on mikmod, I got an idea for a Delitracker like program for AROS, to Play my old modules. I results into my first native Zune program (so without LCL wrapper) ZuPaPlayer. And because Delitracker is working directly on MorphOS and Amiga I concentratedonAROS.
There I also noticed its rather difficult to write MUI applications in Freepascal. In C there are many many macros to make it easier, but they are not directly possible to convert to pascal. There is a muihelper unit in MorphOS with some starts to make it easier. I moved it to ami-extra to make it available to all platforms and extended it a lot. To test and prove the usability of it I started to port the example codes of the official MUI 3.8 release. On Amiga it works very nice on AROS it shows very good the differences of MUI and Zune.
Because ChainQ included support for 68000 processor which need some more alignment care. Because of this I created a little RTL for Workbench 1.3 which is really difficult because much things are not available.
After the compilation problems are solved, it is also possible to compile and use EdiSyn (finally a good editor in ARM-AROS :-P).
So here it is, same case as for Mapparium, it’s a special version for ARM-AROS (0.55). This new Version has already some advanced features like reload last open files (also remember the line the cursor is placed)