I uploaded the arm-aros basic implementation to freepascal trunk, ChainQ added syscalls for arm and some other things to make freepascal on ARM possible.
So finally the compiler works as expected, even the fp-ide works now.
It seems the m68k amiga freepascal compiler is broken again. A Simple Hello world program compiled on an Amiga works but when a uses is in the source file the compilation stops with “Fatal: Internal error 201309171”. It happens rather often that the m68k compilation breaks, and it needs always long time to notice it, because I use cross compiling most of the time. (even in UAE native compilation is rather slow). To get faster informed about such things I added a test to my automatic compile server. An E-UAE Amiga with Workbench 3.1 is started and the last compiler is used to compile the example programs. Two of them are also executed (HelloWorld and GenerateMD5, maybe later I write some special testcases). I didn’t have time until now to find out whats the problem, but I hope Charlie can fix that soon.
Chain-Q added support for 68000 to freepascal compiler. It needs special care because it has some additional alignment need on read/write to structures. But to try it on a 68000 Amiga it should be also Workbench 1.3. the current RTL implementation needs at least 3.0. It was rather easy to create a RTL which also works on 1.3 (via defines) but also the init code (written in assembler) must be changed. I have to find out how to make defines inside prt0.as. Then it could be even added to the official repository. I wrote a little testprogram to test the RTL and make some basic alignment tests. Both works well now.
Worked a little bit more with GPS. At Aros-Exec, someone was so kind to test and other GPS with the program seems he also found one which works.
I put all things together and added some more debug output. In principle its still only a tool to learn how to operate GPS devices to build to Mapparium later. But in fact it’s also a nice little tool to play with. The record track function was so easy to implement so it could be a more lightweight tool to record Tracks, instead of the big Mapparium. It even works on Amiga without GFX-card (unlike Mapparium).
It got an own page, on the Mapparium page it would be too messy. But I don’t think they will be much updates on the little program, maybe later I will clean up a bit and put the source to github.
A new Mapparium release bring the image position showing to public including some AREXX commandos for it. But there are more changes. Finally I added a Menu for the Main Window. There are some problems with the menu on MorphOS, and I want to prevent bug announcement about this. I should really again try to find a clue about it. Besides this added overall statistics.
On request I added a nice little feature to Mapparium. It can now extract GPS informations saved in the EXIF of JPG photos. Usually smartphones and better cameras with GPS chips add them to the photos.
Really nice to remember where the photos are taken. a little preview of the image is included, sadly the JPG loading is very slow on MorphOS. I’m not sure whats the reason for this maybe some x86 optimization or general endian problem. So I decided to make the preview with a small preview of the image loaded and call MultiView to show the whole image on request. Mostly the small image is enough to have an idea whats on it. And with MultiView you can inspect in detail. Of course it would be nice to make it configurable later.
Little movie to show how it will work:
The GPS support will have to wait a version more I think, still need a lot of work, and if included track recording and so on should also be implemented, so still a lot of work.
Support for GPS devices will be a nice thing to have in Mapparium. The GPS devices mostly use a protocol name NMEA via serial connection, nowadays mostly via USB2Serial adapter. I own a old Garmin GPS with serial cable and a newer USB GPS device.
The main problem is that my PowerMacG5 Computer does not have a serial interface. But I found out that my USB GPS device can work, by forcing the endpoint 0 it to usbmodem.device, sadly it does not connect by default to this driver, so you first have to force and save it.
So I wrote a little test program to read the serial data from the GPS and parse the NMEA data.
My old Garmin GPS has a nice little interface (device LCD display) to show the position, satellites and other properties. I created a little GUI which look rather the same to visualize the data. And it works really nice for my device.
Currently it only works for MorphOS and AROS, in principle one could try to forward the serial interface to WinUAE and use it on m68k Amiga.
The new Mapparium has some basic route calculation support. I found two usable services, YOUR and OpenLS. Both have positive and negative sides, YOUR is much more reliable but only support the orders as text without coordinates where the direction order is active. OpenLS had on my tests some speed issues, sometimes very slow, even 1 day offline as it seems, but it supplies orders also with position informations.
FIX: AROS invisible search text
ADD: Routing calculation via YOUR or OpenLS
FIX: better Prefs window
ADD: Save/load routes from GPX
CHG: Open TrackView or RouteView on Show/Edit Button
I got a question, if I will continue with my RSS reader I started a while before. So I searched for it, nice, it’s still on the backup 😛 and it still compiles. The home made HTML parser and print looks still strange, and the whole program is just a start. In fact I did this only to fiddle around with XML/Networking, tried some different RSS feeds all (in the list) seemed to work nicely. But to make a real usable program out of it, I was and I’m still too lazy :-P. And I also don’t think there is a real use for RSS today and every Browser has it already build in. So as an answer I’m not sure if I will ever continue it, Sorry.
I got already some requests for easy route planning inside Mapparium, for me thats not so important, because mostly I just drive without a plan. But it’s funny to play around. In fact I plan both ways of planning, online search “from to” and manual planing by defining some points. But first make the online search, rather easy with “YOUR”. Sadly the by turn announcements are only supplied as text wit no relations to the route. That means you cannot click onto a announcement and zoom to the map where it should happen. I found another one from the university of Heidelberg, and it has map coordinates for every turn. But today when I tried to implement it’s offline :-O I’m a little bit hesitated to include such a service, if it is this unstable to use. Especially because it’s not just offline, but just lagging some minutes to timeout, which is very annoying, because it looks like the application is crashed. (But just waiting for the answer.)