MUIPlot – a simple function plotter

Posted by ALB42 on 13. November 2018No Comments

I used the function parser for a function plotter before when testing the TAChart for LCL. Now I gave my Plot component I use for MUIMapparium a little bit of reshape and fit it into MUIClass components and created a new function plotter.

I little video to show how it works:

Running on a Amiga 1200 with 68030 50 Mhz and 68882 50 Mhz on a 32 color AGA Screen. For Hex2 the floating point calculation speed is not very important, because it’s just a single function. But for calculating the full curve it needs a little bit more floating point calculations. Therefore a FPU is included. Also you should limit the number of Points to calculate to for example 100. For NG Amiga systems of course you can increase it to higher numbers.

Downloads

ALB and Pascal

Posted by ALB42 on 11. September 2018No Comments

Hey ALB do you like all old computers or only Amigas.
 
Let’s say so, if there is a Pascal compiler for it, it’s counted as a computer worth to care about. ๐Ÿ™‚
 
So I present to you, a pascal compiler on a old GDR (east germany) computer KC85/4, a real machine, not emulator. Signal converted with the Extron and recorded using the Elgato device mentioned before. Basically just a testcase for the conversion/recording equipment

and another little pascal test program ๐Ÿ™‚

Just for fun.

MUIMapparium AGA on a native Amiga

Posted by ALB42 on 31. Mai 2018No Comments

I tried the MUIMapparium on my real Amiga 1200 with 680030 50 Mhz (With 68882 FPU). Good news, it works somehow, of course it is slow but once the images are loaded, it moves ok. Unitl now it freezes a little bit when release the mouse button… maybe I should try to find the reason for that.
I also tried on a 16 color screen, much faster… but looks awful ๐Ÿ˜‰ so I decided to make the Video with a 256 colors screen ๐Ÿ˜‰ even it’s slower.

Installing FreePascal …

Posted by ALB42 on 8. April 20182 Comments

Working on a Installer script to installing FreePascal for Amiga using the official way. In the past I often used Installer scripts but never wrote one. It looks very close to LISP (brackets everywhere ๐Ÿ˜‰ ) luckily the scripts are just saved as text. You can peek into other scripts, how to make some of the more difficult parts. For the basic structure I found a nice program in Aminet InstallerGen, it provides a nice MUI Gui to create the install steps, which also helps to understand the language.
The first version is finished now. You can select the installation type, minimal, typical, full and customized. On customized you can select the packages to install. (see image) Of course it also adds the needed entries for assign and path to the user-startup. The plan is to create some more such installers to install more packages, afterwards, like LCL, MUIClass or the FPU-enabled units.
For MorphOS and OS4 this should be easy to create from it. On AROS it will be a little bit different, there is no need to alter the user-startup, you only need to register it as a package.

About this year โ€ฆ 2017

Posted by ALB42 on 13. Januar 2018No Comments

A little bit delays, but as always the summary of last year. Due to personal circumstances I have only little time for these things and also not much mood. I hope this will clear up through out the year.
 

But back to the review. The year started as claimed in the last summary suggested. The MUI-LCL was accepted to the official Lazarus repository and also did some (little) improvements of it. Sadly I always hit the border what MUI can do so not much advance here.
 

Charlie improved FreePascal and Frank Wille improved vasm and vlink to support section linking for the Amiga Platforms. This decreases the file size very much. Finally vlink and vasm became the default assembler and linker for Amiga68k, MorphOS and AmigaOS4
 
FPC for Amiga systems got it’s own Subforum at Amigacoding.de and in the beginning there were some discussion, sadly it slept in again.
 
Magorium played around with SDL stuff at AROS with FPC and I also used it to bring a gaming tutorial source to AROS. I’m always interested in nice 3D routines or even realtime raytracers. I did before some coding about it but also this year.
 
Over the easter holidays I was on a trip, and I took my raspberry pi with an attached touchscreen and keyboard with me. Of course with AROS arm installed. Therefore I was able to code at the evenings in the hotel. I started to make a new approach for Mapparium. Mapparium is a nice program (I use it mainly to depict my bicycle tours recorded with my GPS device or iPhone) but the GUI ist still rather clumsy because MUI/Zune does not like this direct placement of positions. On a native 68k Amiga it become very slow because of this huge LCL Layer. I decided to write a native MUI/Zune application, as I did before the ZuPaPlayer, again to learn a little bit how to code MUI and also to fix some serious problems I found in Mapparium. The New Version is called MUIMapparium and went through several releases until the current 0.5 release. MUIMapparium got an own Release page. It still does not have the same feature set as the LCL Mapparium but it works much more smooth, really nice even on a native 68k Amiga especially on a Amiga 600 with Vampire.
 
Speaking of Vampire, I bought a complete Amiga 600 with a Vampire V2 card, really nice piece of hardware. Very fast (the card just keep popping away from the chip where it should be attached). The only drawback is, that there is no FPU included in the FPGA emulation (so it’s more like a 68030/68020 than a 68040/68060 which has built in FPU). For my programs thats not a big problem, there is a SoftFloat option in FreePascal and it works really well. I never thought about the speed of that routines. Yes, I knew they are much slower than a native FPU calculation but I had no idea how much. Later someone released a FPU-emulation software femu which improved the situation a lot. But still a lot to improve there. I heard that the next released core should have included some more basic FPU function and the femu is somehow more connected to the FPGA. I guess they build a way to prevent the Trap which appears on every unknown FPU command and eats up a lot of time. But I have no idea if this is true and this will ever be released, In fact I doubt it a little bit, seems the whole project is sleeping or so. Just to depict that core releases from Vampire:
GOLD2       2017-01-23
GOLD       2016-09-05
SILVER9       2016-08-03
SILVER8       2016-07-29

SILVER7       2016-07-10
SILVER6       2016-05-16
SILVER5       2016-05-06
SILVER3a       2016-04-04
SILVER3       2016-04-03
SILVER2       2016-02-28
SILVER1       2015-12-25

That means the last FPGA core release was almost a year before, and Screens/Show offs of the coming Gold 2.7 or Gold 3 are there since several month already but no sign of an actual release. (to be complete, there is a Gold 2.5 release, but there the FPGA core is not changed, same build number)
 
My Blizzard 1260 broke and I send it to repair, (sadly still unknown whats exactly wrong, MACH chips? I have no knowledge about such stuff). For the time without a proper turbocard for my A1200 I bought a Blizzard 1230IV which works very nicely. An other thing the Vampire is missing, is an MMU (at least an Motorola compatible MMU) so until now Linux or NetBSD will not work on Vampire Amiga. But on this Blizzard 1230 it runs… even very slow of course. I did some qemu-m68k stuff on my home server to let some automatic tests run of the freepascal 68k compiler Charlie is improving the whole time. My plan was to also try it on a real Amiga with Linux. Nice, but it really needs ages to do something like compile or install stuff. Maybe when my Blizzard 1260 is back I will try that again.
 
I read some interesting article about a c compiler in a web browser (in javascript) and I got the idea to promote the FreePascal compiler for Amiga systems a little bit more. it should be possible to create a page with a simple text editor on it, which can compile Programs for all our beloved Amiga systems from pascal sources. I don’t have much php knowledge but for that it’s more that enough. The Online Compiler was born. This project even got attention of a big german tech-news page Heise, which published an an article about that. But also the Amiga community showed some interest by using it and the biggest Amiga journal today „Amiga Future“ wrote an article about Pascal and also published an interview with me.
 
To keep the enemies separated I kept the Atari online compiler on a different page. Both are still nicely in use by some people.
 
Currently I try to find some motivation to continue on the MUIMapparium stuff. I already improved it a lot, especially the route finding stuff but it’s still not ready to release. in FPC I was working on the basic threading stuff, like events which were still missing. It was triggered by a change in the FCL package but need the event functionality. It still needs improvement.

Amiga 3D with AGA

Posted by ALB42 on 29. Juli 20172 Comments

Just playing around with some 3D Mathematics on a real Amiga 1200 with Blizzard 1230 IV with 68882 (50 Mhz). But the main problem is not the calculation but the drawing. I only use graphics.library functions to be system and RTG compatible. (It uses a a MUI Interface).

I know, not really impressive ๐Ÿ˜‰ but I like it, interesting to learn some 3D stuff. And even a Hires Lace screen with 32 colors, fast enough to use.

Source
Executable for Amiga with FPU

MUIMapparium

Posted by ALB42 on 10. Juli 2017

MUIMapparium is a OpenStreetMap.org Viewer for all Amiga Systems with Waypoints/Tracks/Routes Loading/Saving creation.

Requirements
all Systems
  • RTG Graphics card (Picasso 96 or CGFX) 15/16/24/32 bit Screen
  • TCP/IP Stack (Internet connection)
  • 8+ MB RAM
Supported Amiga-systems
  • Amiga 68k, 68020+, (68881+ FPU recommended) AmigaOS 3.0+
  • Amiga OS4, OS 4.0+
  • AROS i386, ABIv0
  • AROS ARM, ABIv0 ARMV6+ VFPV2+ HardFloat (e.g. RasPi 1-3)
  • AROS x86_64, ABIv1 (non SMP-Version)
  • MorphOS 3.8+
Additional Notes

The FPU version is much faster, especially with routes and tracks. If
you experience slow map movement, with the NoFPU version, don’t blame me
(or the program) buy a proper FPU.

With Vampire (at least until Gold 2.9) you have to use the
NoFPU-Version of MUIMapparium. The Vampire FPU is not IEEE754
compatible and therefore does not work with MUIMapparium.

Offline Operation is possible, but only harddisk cached map images
are shown.

Downloads: MUIMapparium 0.8

MUIMapparium 0.5

MUIMapparium 0.6

MUIMapparium 0.5

Posted by ALB42 on 9. Juli 20176 Comments

I decided to release the next Version of MUIMapparium even not all features are finished as I planed just to get the bugfixes out. Routes (calculated directions) can be loaded from GPX and showed on map. But I did not implement the route finding and direction command showing until now. Especially the Track curve plot was still very buggy, and of course I described in a previous blog post the pixel to position calculation which is now much better, much more precise but also much slower than before, with FPU it does not make big difference, but with SoftFloat not really funny. Routes and Tracks are now pre-calculated for the current zoom level. If the zoom level is very small and the track therefore not really good to see, only some pixels wide, it does only paint some points of it, which makes the overviews much faster. Still, with SoftFPU on 68k it still will be too slow if you have some Tracks/Routes. The drawing of Tracks/Marker/Routes can be completely switched off in Menu or buy a FPU ๐Ÿ™‚ The package for Amiga68k does contain a FPU and Non-FPU.
I also created a little GPX file with a Track, some Markers and a Route to test the features. (Even you can use any GPX/KML/KMZ/FIT File you can find on the Internet as well)

Changes:
  • Bugfix: imperial units
  • Bugfix: key mapping
  • Bugfix: 2nd track curve drawing
  • Bugfix: Date/Time loading from GPX,KML,KMZ files
  • Level of Detail for Tracks
  • Precalculation of Trackpositions (Speed optimization for NonFPU systems)
  • Route drawing
  • Marker in Plot, shows also a marker in the Track
  • Turn off Marker, Track and Route drawing via Menu
  • Define Directory for Images via ToolTypes: e.g. DATAPATH=DH1:TmpDir
  • Change find IP to freegeoip.net (old one is too slow currently)
  • FPU Version for 68k
Downloads: MUIMapparium Page

 

MUIMapparium 0.5

An replacement

Posted by ALB42 on 29. Juni 2017One Comment

My Blizzard 1260 card is broken a while before, I sent it to someone to repair, but this will need time. That means my A1200 is rather useless currently. Which is not a nice situation. I decided to buy a Blizzard 1230 IV with 68882 FPU. Later when my 1260 is back maybe I can revive my other Tower A1200 to use that card. The card arrived today amazing it is even with the original package and manual, I did not expect that, very close experience to when I bought my Blizzards back in the days.

Blizzard 1230 IV in Original package

Now I can make some additional tests about FPU speed and compatibility of FreePascal. First again the Mandelbrot test again together with the old Values:

Mandelbrot results (Runtimes, shorter is better)

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

Mandelbrot double precision 0.15 s 23.72 s 13.37 s 2.31 s 71.87 s

and again the Scimark test:

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
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)

Amiga1200 68030+68882/50 FPU code
Mininum running time = 2.00 seconds Composite Score MFlops: 0.29 FFT Mflops: 0.15 (N=1024) SOR Mflops: 0.56 (100 x 100) MonteCarlo: Mflops: 0.13 Sparse matmult Mflops: 0.29 (N=1000, nz=5000) LU Mflops: 0.34 (M=100, N=100)

The Result stays very bad for SoftFPU even the 68882 is around 5 time faster than the SoftFPU on a Vampire. That fits also to the results I saw in the apollo forum, someone showed a
SoftFPU emulation result of AIBB FMath Test resulting in a runtime of 9.73 s, my new 68882 solve this test in 1.51 s. That means the 68882 is 6.5 times faster than the Vampire with SoftFPU emulation and this time its independent from FPCs SoftFPU implementation, seems the FPC SoftFPU is not that bad actually.