Archives for Amiga

Uh, there is the way

Posted by ALB42 on 22. Mai 2016One Comment

Implemented GPX reading and writing, really very easy. Tested with some of my cycle routes (I cuted the start away for the screenshot). It also saves the waypoints and tracks into a default.gpx to load at next start, its the easiest way to start. At the moment I draw a little rectangle at every track point and connect them with a line. Sadly it seems to be not possible to draw a thick line with the standard methods, the PenWidth and PenHeight in RastPort are ignored. so I guess this point approach works best for recorded tracks. For planed routes with little points its hard to see. Maybe I write an own line drawing routine, with Bresenham it should be possible to make.

OpenStreetMap with Waypoints and Tracks

OpenStreetMap with Waypoints and Tracks

 

Besides I increased the speed dramatically on drawing, on Amiga 68k its much faster now, even usable and resizing on MorphOS with less problems and much faster, it does not recalculate the complete image on every resize step, but only draws the image.

Virtual Lazarus v2

Posted by ALB42 on 16. Mai 2016No Comments

New Version for the Virtual Lazarus crosscompiler, some crashes with mouse events (OnClick, OnMove, OnEnter, OnLeave), Redrawing and resizing problems and of course the biggest change adding support AmigaOS4 (PowerPC). I removed some not needed files and installations, so the download is much smaller this time.
 
Changes in short:

  • FIX: Redraw problems on AmigaOS3
  • FIX: Size problems
  • FIX: Mouse event crashes
  • ADD: Support for AmigaOS4
  • CHG: Striped image from unneeded things, reduced download size

 

Download the new Virtual Lazarus crosscompile setup (1.2 Gb)
 

 

I am thinking how to make an online updater, in principle not so difficult with a script, svn update from repository, recompile/install all compilers/crosscompilers, update lazarus repository, recompile and install lazarus, done.

You can almost see me

Posted by ALB42 on 7. Mai 2016No Comments

As promised, I cared about drawing with alpha channel on m68k Amiga. Little bit background. When I make a StretchDraw() the raw data is scaled directly in pascal (to keep the alpha channel) via a nearest neighbor routine. And exactly there I need to touch every pixel to scale it, of course a good position to also care about the alpha channel. For speed optimization the special cases 0 and 255 alpha channel are handled separately. And its not so slow as I thought, so I let it inside.
 

Amiga m68k with alpha channel drawing (left) and as comparison on AmigaOS4 (right)

Amiga m68k with alpha channel drawing (left) and as comparison on AmigaOS4 (right)


 
Besides this I worked more on size calculations especially on MorphOS, still not completely sure how it should be. An additional problem appeared in the OS4 LCL. The size calculation as done before crashes, because it reads the Width/Height from the the MUI object which seems to be forbidden inside the Layout. If think about it’s not very surprising because the layout is called before the window is opened and to get the right size the Layout must be done. So I had to rewrite the section with AROS in mind of course. Seems it works now (again? I hope). With this changes the EdiSyn now also work on OS4.
 
EdiSyn on AmigaOS4

EdiSyn on AmigaOS4

Amiga family photo

Posted by ALB42 on 6. Mai 2016No Comments

Working on the image drawing in LCL, not only for OS4 but for all, the problem is that it needs (semi-)transparent drawing. I started with Picasso96 for OS4 but it seems it still has no Alpha channel support. But luckily it also supports the cybergraphics compatible layer with the alpha channel support. So I changed everything in LCL back to cybergraphics, which is even much better, because now it’s the same for all platforms.
 
On this occasion the problem on MorphOS came to light. I always had the problem that at MorphOS the images are not shown. I thought it is a problem with resources but now it became clear, it’s the drawing the globalalpha value was too small.
 
Sadly the cybergraphics on classic AmigaOS does not support this Alphachannel, thats the reason the image has the black border in the screenshot. Maybe one could try to make a simple Alpha (0/1) by hand, which will be very slow I guess.
 
Besides I found a big Event problem. Got this as bug report already, it was just a not initialized variable. A little bit more testing and I will make a release and also create a Virtual Lazarus again with all 4 platforms :-).

Image LCL drawing on MorphOS (upper left), AmigaOS3.9 (upper right), AROS (lower left), AmigaOS4 (lower right)

Image LCL drawing on MorphOS (upper left), AmigaOS3.9 (upper right), AROS (lower left), AmigaOS4 (lower right)

AmigaOS4 and Lazarus component library (LCL)

Posted by ALB42 on 2. Mai 2016No Comments

I hacked some more library units for AmigaOS needed for the LCL. and finally at least it compiled, I had to deactivate als CyberGraphics things, at least I did not find the corresponding things in the official SDK, so many graphic things are missing.
The biggest problems in the LCL came from my special code for Amiga m68k and (again) different behavior of MUI on AmigaOS4 which resulted in crashes on totally valid Values.

Nevertheless the first LCL program works on a AmigaOS 4 computer.

LCL-OS4