Show me some routes

Posted by ALB42 on 28. Juni 2017No Comments

Working again a little bit on MUIMapparium. I want to include some more features before the next Release 0.5. I included marker for the plot which is then also shown as little triangle in the map. I’m not really satisfied with the colors and visibility of the current open track and marker for the point maybe I get a better solution later. The marker is atm. only one pixel wide, in principle it would be possible to make it 2 pixel or 3 pixel, but that looked a little bit too massive.

MUIMapparium with Track Marker

Another thing I wanted to include for the next version are calculated routes and maybe also photos with EXIF tags. If this is done MUIMapparium has the same Featureset as Mapparium, even a little bit more. I started with Routes which is not very difficult, some routines even can be reused from tracks drawing and so on. It only loads tracks from gpx files currently (created by Mapparium for example). The creation of a new route will be the next step.

MUIMapparium with a Route


Also visible in the image is the new possibility to disable all Marker, Tracks and Route drawing. Helpful if you have many items and want to concentrate on the Map or so (or just to increase the speed).

To FPU or not to FPU

Posted by ALB42 on 28. Mai 2017No Comments

When I work on MUIMapparium usually I only work in Linux and test on AROS Linux-hosted. which is very convenient and fast. When starting the MUIMapparium I also tested at the end on every platform if it works and how is the speed. For the last two Releases I skipped this part, due to lack of time.

But yesterday I tried MUIMapparium on my Amiga 600 with Vampire and was shocked how slow it behave. The map moving is just not usable around a second reaction time. I downloaded/compiled older versions to check when this problem appeared. Deep in the back of my brain I guessed already that the fixed position calculation could be the reason (see here). Thats pure floating point calculation and a lot of them. I tested that on the initial implementation and it seemed not too slow, because for simple map moving and zoom only very two-three times this conversation have to be done, so the influence is not very big.

So why it’s now so slow? The difference is that before I tested with a bare MUIMapparium without any marker or tracks loaded. Marker only add a single conversation to the list. But Tracks need a conversation for every recorded (and maybe drawn) point. Remember the most GPS devices measure the position once per second, that means for an hour walk you get something about 3600 points (usually the GPS already strip them from „not moved“ points, nevertheless you get around 1000 points). For NG Amigas with their massive computing power especially on the FPU side, this is not much of a problem, 1000 fpu calculation with some hundreds MFlops are just done some milliseconds.
But on Vampire it’s a different story, no FPU, it has to use the softFPU emulation of FreePascal. This raised the question: How fast is the softFPU emulation on a Vampire in comparison to a real 68060 / 50Mhz FPU. The Vampire integer performance is much higher than the 68060 (around twice as fast, see here) but emulated FPU, there is a lot of code needed to emulate that correctly.
I used two tests for that, a simple Mandelbrot algorithm, in single and double precision and the well known SciMark from NIST. Compiled with either with FPC SoftFPU emulation or the 68881 FPU support.

Mandelbrot results (Runtimes, shorter is better)

Test 68060/50 MHz FPU 68060/50Mhz SoftFPU Vampire SoftFPU
Mandelbrot single precision 0.12 s 9.53 s 3.81 s

Mandelbrot double precision 0.15 s 23.72 s 13.37 s

When comparing the SoftFPU times of 060 and Vampire you can see the 2-3 times I experienced before already. But the (often called „very slow“) 68060 FPU leaves the SoftFPU Vampire in the dust far behind it. (In fact the dust is already settled down again, before the SoftFPU finished the calculation). Of course the errorbars for the calculations with FPU are huge, the time is too short for a reliable time measurement, but a bigger calculation just would need ages with SoftFPU 😉 and the trend is nicely visible.

Next is the SciMark, it uses various real life floating point calculation, like FFT, matrix multiplication, monte carlo simulation, if you work in science you know that stuff, if not just believe me that is what science programs do all day 😉

SciMark2 results (MFlops, higher is better)


Vampire V600 V2+ 128 MB SoftFPU code
** ** ** SciMark2a Numeric Benchmark, see http://math.nist.gov/scimark ** ** ** ** Delphi Port, see http://code.google.com/p/scimark-delphi/ ** ** ** Mininum running time = 2.00 seconds Composite Score MFlops: 0.06 FFT Mflops: 0.03 (N=1024) SOR Mflops: 0.12 (100 x 100) MonteCarlo: Mflops: 0.03 Sparse matmult Mflops: 0.08 (N=1000, nz=5000) LU Mflops: 0.02 (M=100, N=100)

Amiga1200 68060/50 FPU code
**                                                               **
** SciMark2a Numeric Benchmark, see http://math.nist.gov/scimark **
**                                                               **
** Delphi Port, see http://code.google.com/p/scimark-delphi/     **
**                                                               **
Mininum running time = 2.00 seconds
Composite Score MFlops:     2.26
FFT             Mflops:     1.18    (N=1024)
SOR             Mflops:     5.05    (100 x 100)
MonteCarlo:     Mflops:     0.86
Sparse matmult  Mflops:     1.81    (N=1000, nz=5000)
LU              Mflops:     2.41    (M=100, N=100)

So it just shows the same trend. Attention: do not compare this MFlops with the theoretically MFlops most speedtests show you (like sysinfo), you can see, how different the tests behave. It depends very strong on which commands are used and how much memory bandwidth is needed.

In conclusion it shows really nicely why the MUIMapparium with a track on a Vampire is so slow currently, because of the slow SoftFPU. Very sad that the Vampire still lacks a proper FPU support. We (ChainQ and me) believe that it is possible to optimize the SoftFPU performance maybe 50% faster or even double, or lets aim for the stars.. 10 times faster than now (I do not believe that is even close to possible at all). It would still be around 5 times slower than a 68060/50 Mhz FPU, for the people believing a SoftFPU implementation could be a replacement for a native FPU in the FPGA.

That means, if it reacts very slowly on Vampire, just remove the track. 😉 I will work on this, reduce the needed calculations, (by using more memory), see at which places I could possibly go down to single precision (not much hope there ;-)) and of course reduce the number of points, in principle a LOD on the Zoomlevel.

P.S.
if you want to test SciMark you can download the FPu and SoftFPU exe from my server:SciMark FPU Version, SciMark SoftFPU Version. (I would be very interested in 68881/2 Results)

Some Curves

Posted by ALB42 on 18. Mai 2017No Comments

LCL has powerful packages for example the Chart component (or the Edit component with Highlighter). MUI already have some, but not so powerful and not available for all platforms (especially ARM-AROS and AROS64). I try to keep on the included basic classes to keep it compatible.

I used the very powerful TAChart component in Mapparium to show the Height/Speed trace of a track. Of course for MUIMapparium I also want to have that, so I started to implement a plot class for MUI. Not so powerful but already very nice with two Y-Axes, Zoom and Autoscale.

MUI Plot component start

It already works rather nicely, as first approach can be used like this.

I designed it already in a very abstract way in principle a TPaintBox for MUI and based on that the Plot class, that means I can use them in other programs as well.

Locale Localization position

Posted by ALB42 on 8. Mai 2017No Comments

Working on a very old bug. I’m not sure if someone noticed it, at least nobody reported it. The coordinate to pixel conversation was not very precise because it used a average resolution for every tile. This works well for higher zoom levels where the resolution does not change much inside a tile. But for lower zoom levels, especially the whole world picture this is certainly not right any easily visible when using way points. See for example Mapparium 0.6 on the right side of the image, all way points are (and tracks) are shifted to north. The solution was not very difficult but needed some thinking, basically a rounding error and precision problem.

MUIMapparium (Left) and Mapparium (right) Waypoint position comparison and german locale

I also start to play with localization. I never did that before, especially not in FreePascal but it’s not very complicated, just diligent work to replace all strings. So next version will also be available in german (and maybe later some more languages, at least I got an offer for french localization). There is one small problem with that, there is no locale library unit in FreePascal for AmigaOS4 so either I make some defines to turn it off for OS4 or implement the library unit.

Symbols

Posted by ALB42 on 30. April 2017No Comments

Yesterday I was at the Amiga and retro computer meeting here in Berlin, always nice to be there and talk to the people. ChainQ was also there so we worked a little bit on this strange WBStartup problem on MorphOS. As some already mentioned in the comments to MUIMapparium, it is not possible to start fpc compiled programs at MorphOS via an Icon. The programs just do not start directly freeze, the reason is simple, when starting via Icon the WBStartup Message is sent to the application via an MsgPort at the Process structure. Freepascal waits for this Message, which never arrives. After some trying we found, that the needed structures and functions in fpc are in good shape so not the root of this problem. The problem appeared when ChainQ changed the startup code from a assembler one to a pure Pascal startup code. So my guess was that it somehow relates to the needed symbol inside the executable, which defines it as a MorphOS executeable __abox__. Of course I do not have much knowledge about it, just a wild guess. But it turns out that this was quite right. The first problem is that I used an older version of vlink, which seems to have a bug and removed this symbol (because never used). After an new compilation of vlink the __abox__ symbol is there but still it do not work. ChainQ knows a little bit more about this stuff and also knows whom to ask in the inner circle of MorphOS developer what could be the root of it. Some strange things I was able to see, the program I started stopped when starting via Icon. But via TaskManager you can see, two of them are started. An other thing with Snoopium you can check when the program does at the start. Especially the OpenLibrary function is interesting in this case. You can see how the program tries to open the ppc.library, which I learned now, is a sign that MorphOS thinks that this program is an PowerUp executable, which explains the odd behavior. In the end the solution was not so difficult, FreePascal did not set symbol type and symbol size as expected by MorphOS. (The size is important because the __abox__ symbol should point to a longword with value one) It appears FreePascal already have a function to care about such things, which only have to be activated for the MorphOS compiler. Finally it’s fixed again. Thanks for the help.

Mapparium

Posted by ALB42 on 24. Mai 20163 Comments

OpenStreetMap viewer for Amiga-Systems. The map can be moved around an zoom. It is possible to set waypoints, or load recorded tracks or waypoints from GPX, TCX, KML or KMZ files. The speed or height curve can be showed and inspected.
 

Downloads

Please use MUIMapparium due its more recent and more powerful.

MUIMapparium, the next Generation

There is a new implementation of Mapparium in pure MIU/Zune code which makes the whole program much faster especially on 68k Amiga. It still needs an RTG card but a non_FPU version is included, but if it is too slow (especially with tracks and routes showing do not blame me, buy a FPU) On the long run MUIMapparium will replace the Mapparium, at the moment it does not have the same features (but rather close)

Downloads: MUIMapparium

MUIMapparium has it’s own page: MUIMapparium Page

 

Mapparium 0.5 on MorphOS

Mapparium 0.5 on MorphOS

To move the map, click and hold the left mouse button inside the map. Zoom can
be changed with mouse wheel (Zoom in = mouse wheel up), +/- buttons or double
click into the map.
To search for a position on the map type in keywords into the search bar on the
top of the window and press „Search“ the sidepanel will open automatically.
The side panel can be also open or closed by clicking on the panel opener on
the left side next to the map. In the side panel you can find the search
results, tracks and waypoints. Double click to a search result, a track,
a route or a waypoint centers the map onto this feature.
A Double click onto the lower panel copies the middle coord to clipboard using
geo syntax.
To jump directly to a position type in the two coordnates separated by space
„Lat Lon“, or via geo: URI: „geo:lat,lo>?z=ZoomLevel“
To search for a location of an IP-address type ip: for example
ip:8.8.8.8
To add a new Waypoint select in the sidepanel the a waypoint entry (or the
„waypoint title“) and press „Add“. A waypoint is created at the current
position.
To create a new route select the „Routes“ entry and press „Add“ a new Window
will appear to define the start and end point. You can either use the current
position in the map window or use the two edits to search for your
destinations. Do not forget to press enter when you typed in a new start or
end and select the right address (double click) in the view underneath.
Choose route type (car, bicycle or foot) and if it should be the fastest
or shortest way. You also have to choose which service you want to use.
YOUR is more reliable but supports no informations where the order takes
place, OpenLS is sometimes rather slow, but makes better directions.
A double click on one of the orders zoom to this specific area (not available
for YOUR). To copy the orders to clipboard active the view and press Ctrl+C.

Mapparium on AROS

Mapparium on AROS

History

0.6
  • ADD: Image List with EXIF position Data
  • ADD: Image preview
  • ADD: AREXX commands for Add images to imagelist
  • ADD: Menu for Main window and ImageList
  • ADD: Active Route color
  • ADD: Overall statistics
  • FIX: Color settings
0.5
  • 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
  • CHG: Moved Track title edit into TrackView
  • ADD: Context sensitive Add Button
  • ADD: Possibility to hide/show tracks/route
  • FIX: Faster drawing for 68k Amiga
0.4
  • ADD: Clear HD Cache by Button in Prefs to a certain zoom level
  • ADD: Find current position (by ip)
  • ADD: Search position by ip (type: ip:x.x.x.x to search)
  • ADD: Get address for current position
  • ADD: Zoom in by double mouse click
  • ADD: AREXX port with commands „goto“ and „addwaypoint“
  • ADD: Loading of Garmin FIT data
  • ADD: Other color for active track
  • FIX: Umlauts fix in search header
  • FIX: Search by Return press in search box
0.3
  • FIX: Invisible texts on OS4
  • FIX: Go offline if internet is down
  • FIX: Start folder for load/save dialogs
  • FIX: Filter for dialogs
  • FIX: Version informations
  • ADD: Load tracks from Garmin TCX files
  • ADD: Set size of middle marker
  • ADD: Support for geo: URIs
  • ADD: DblClick to lower panel copies middle position to clipboard as geo: URI
0.2
  • ADD: Show Height/Speed map of recorded tracks
  • ADD: Marked position in curve mark also on the map
  • ADD: Support for KML/KMZ Loading
  • FIX: Optimized image keeping
0.1
  • NEW: Initial Release
  • ADD: Load OpenStreetMap tiles
  • ADD: Load and Save Waypoints and tracks from GPX Files
  • ADD: Show WayPoints and Tracks on Map
  • ADD: Search on the maps

Programs

Posted by ALB42 on 24. Mai 201620 Comments
  • AmiDream – Text to Image AI Application
  • AmiFox – A browser for your Amiga
  • AmiTranslate – Translate text with DeepL
  • AmiTube – a Youtube Client for m68k Amiga
  • AROSDebugView – a viewer for debug messages
  • Ask your Amiga – answering machine (Wolfram Alpha GUI)
  • BinShifter – a 2048-game clone
  • ClockMouse – Read time from Hopf DCF-77
  • ColorIt – a game with colors
  • EdiSyn – friendly Editor with syntax highlighting
  • ExtronControl – Control software for a Extron DSC 301 HD scaler and input switch.
  • FPCMines – a Minesweeper clone
  • GPSTool – Position from an NMEA GPS and record GPX tracks
  • Hex2 – calculator with variables support and GUI
  • LEU – a spread sheet with support for Excel and Libre/Open Office files
  • MCAmiga – A Midnight/Norton Commander style file manager
  • MUIMapparium – OpenStreetMap client with GPX support
  • MUIPlot – a simple function plotter
  • Shift-It-GL – thinking game in OpenGL
  • PasteQuick – Transfer contents of Clipboard to Pastebin.com and receive the link.
  • Some more small Tools

AmiDream

Version 0.2

A Text to Image Application for all Amiga Systems (using Stable Diffusion). Inclusive „Magic Prompt“ insert a basic idea and magic prompt reforms it to a better prompt for the model. Or if you have no idea at all press „Random“ to get a random Prompt for a nice image (sometimes gives an idea for more)

Requirements:
– Internet connection
– MUI (3.8+)
– Datatype (PNG)

Downloads:


AmiTranslate

Version 0.3

A DeepL interface for Amiga Systems with fancy text print and PDF output that you can read the chars nor easily printable by MUI

Requirements:

Downloads:


MCAmiga

Version 0.9

A Midnight/Norton Commander style file manager for all Amiga Systems

MCAmiga on Amiga68k
  • Amiga 68000+, 4 MB, AmigaOS3.x
  • AmigaOS4
  • MorphOS 3.x
  • AROS i386 ABIv0
  • AROS ARM ABIv0
  • AROS x64 ABIv1 NonSMP
  • Download: MCAmiga


Hex2

Version 0.2

A simple calculator with variables and small MUI GUI.


ColorIt

A small games with colors, fill the area with the color.

ColorIt on MorphOS

MUIPlot

Version 0.2

A simple function plotter with ASCII and PNG export.


FPCMines

Version 1.1

A classical mine sweeper clone.


BinShifter

A 2048-game clone.

Bin Shifter 1.0

ExtronControl

Version 0.1

Control software for a Extron DSC 301 HD scaler and input switch.


PasteQuick

Version 0.41

Transfer contents of Clipboard to Pastebin.com and receive the link.


ClockMouse

Version 0.1

Read the time from a Hopf DCF-77 radio clock (see inset in the picture). The clock must be connected to the serial port (serial.device Unit 0).


Ask Your Amiga

Version 0.6

Do your have a question, ask your Amiga, she knows everything and with this program she will even tell you. (Search in the Wolfram Alpha database)

  • AskYourAmiga 0.6 for all Systems (needs MUI, GIF Datatype and an Internet connection)
    • Amiga 68020+ OS3.0+
    • AROS x86 ABIv0, ARM Raspi ABIv0, x64 ABIv1 nonSMP
    • MorphOS 3.x
    • AmigaOS 4.x

Small Tools

FPC MorphOS

Posted by ALB42 on 1. Mai 2016No Comments

FreePascal for PowerPC MorphOS

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

Binary releases:

FreePascal 3.2.2 for powerpc-morphos with Installer MD5: cce3d8dde0b1b3d5e151195702c65314

  

  
older releases:

FreePascal 3.2.0a for powerpc-morphos with Installer MD5: 04227c6b0f62b8cccc31c07b82ed3f25

FPC 3.1.1 MorphOS PowerPC including LCL (Release 26.08.2017) MD5:
e2e58c873092ac62d3269773e0bb37ea

There are nightly release packages also.

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 MorphOS:

  • MoGit – Tool – Git helper tool for MorphOS (see About MoGit) Source code available on GitHub
  • ColorIt – Game – Flood the field with the same Color
  • FPCMines – Game – Minesweeper clone
  • BinShifter – Game – 2048 clone
  • PasteQuick – Application – Copy Clipboard contents to Pastebin.com and receive the link in Clipboard
  • Mapparium A OpenStreetMap Viewer
  • MUIMapparium OpenStreetMap Viewer with MUI interface
  • GPSTool Show Data from a connected GPS, record tracks

FPC AmigaOS 4

Posted by ALB42 on 1. Mai 20162 Comments

FreePascal for PowerPC Amiga OS 4.x

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

Binary releases:

FreePascal 3.2.2 for powerpc-amiga with Installer MD5: b99258eab7f7eef25f02d0a3508aface

  

  
  
older releases:

FreePascal 3.2.0a for powerpc-amiga with Installer MD5: d11ef55cd451b62688e4b290a4771d64

FPC 3.1.1 AmigaOS4 PowerPC including LCL (Release 26.08.2017) MD5:
096aad2c3035ed969660f182401c38e9
Beware: LCL for AmigaOS4 is still in a very early alpha stage!
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 AmigaOS4:

  • ColorIt – Game – Flood the field with the same Color
  • FPCMines – Game – Minesweeper clone
  • MUIMapparium – A OpenStreetMap Viewer with MUI interface

The 100% useless AROS distribution

Posted by ALB42 on 5. März 20164 Comments

This is the first and only AROS x86_64 (ABIv11) distribution of the world.

Note: The change of ABIv1 to ABIv11 results in a complete incompatibility to earlier version 0.1 and 0.2 of T100pUAD. That means programs compiled for older Versions will just crash.

And the name is program, until now its not really usable, very unstable and very little programs available to start on. (Now with some of my programs installed, MUIMapparium, Hex2, MUIPlot, MCAmiga, AYA, AmiTube and of course FreePascal)

It’s mainly aimed to really brave people and people want to play with Free Pascal on AROS64, because this is for what I need it. to develop and test 64bit AROS Free Pascal.

Download: T100pUAD Linux Hosted Version 0.3 Size: 270 Mb. MD5: a952fcad08f1cb50364306a899c6f1ed

How to use:

Unpack at Linux x86_64 you will find a folder T100pUAD with 2 Startup scripts inside (StartAROS.sh and StartAROSwithNet.sh). Use them to start AROS, a new window will open with AROS running.

older ISO Version:

Removed because it is not compatible anymore with the current ABIv11

Be warned

The 64bit AROS is still in a very early stage, I would call it pre-alpha, it will most likely: crash your computer, delete your data, post awkward pictures of your facebook and twitter account, sell your stuff and partner on ebay. So be warned and do not blame me for that.