o1i's Planet AROS

December 02, 2016

Icaros Desktop

Hybridation of Icaros goes on...

Two weeks after announcing the "hybridation" of Icaros Desktop (meaning that you will be able to run it either natively, as usual, OR hosted on Linux, with the same installation medium), works on this process continues. I've enhanced many steps of the "hosted-install.sh" script that you'll find in the root directory of the installation CD (or DVD, for the Live! edition) and I've started

by Paolo Besser (noreply@blogger.com) at December 02, 2016 05:31 PM

November 23, 2016


Bug fixed (hopefully)

Not much progress on WinUAE on AROS the last months.. why?

I never got the harddrive tab working reliable. Adding a new harddrive with the gui always resulted in a TLSF memory allocation error and I had no idea, why. The pool was damaged somewhere..

So I searched and debugged for .. many hours. Too many, so I always stopped hunting for the bug after maybe 5 hours and gave up. And restarted weeks later. And restarted.. and the last start was finally successful :-).

The gui in that AROS WinUAE-port is quite different from an "usual" zune gui: It is not created at once, but added with single calls gradually, as the gui is built by the original WinUAE gui sources and some glue code (remember gtk-mui? now the same happened with the windows gui tollkit ;-) ).

So it calls MUIA_List_Format no only once or twice, but in one place more often than 6 times, enlarging the format by 1 every time. Until 6 everything was fine, 7 it crashed. When I discovered this yesterday, I had at least a reproduce-able crash. And today I think I found the culprit: In the AROS list.c code some memory was not cleared in ParseListFormat, before using it. And so it happened, that there was no terminating NULL pointer at the end of one array, but some garbage.. which caused the crash most likely.

After adding MEMF_CLEAR, it finally seems to be reliable:

Quite some hours wasted here..

by noreply@blogger.com (o1i) at November 23, 2016 11:14 AM

November 17, 2016

Icaros Desktop

Native or hosted on Linux? Both!

I've been asked many times for a Linux-hosted version of Icaros Desktop but, for many motivations, I've always declined. First of all, I've always thought that one of the main goals of Icaros Desktop would have been motivating coders and users to use and improve the native flavours of AROS: why spending so many time and efforts to make AROS work on the bare metal, if anyone else would have hosted

by Paolo Besser (noreply@blogger.com) at November 17, 2016 12:01 AM

November 11, 2016

Icaros Desktop

Some news about Icaros installation

I didn't write anything fancy for a while, so it's time to add some news here. This time, I will talk about next Icaros' installation. As you may know, this procedure is based on two souls: AROS' InstallAROS tool and Icaros' own Post-Install-Script. The former creates partitions, copies all AROS and Icaros stuff onto the hard drive and install boot loader. The latter unpacks Icaros Extras and

by Paolo Besser (noreply@blogger.com) at November 11, 2016 05:02 PM

September 14, 2016

Icaros Desktop

Icaros Desktop 2.1.3 now available

Three months after v2.1.2 release, we've built a little update which fixes some of the issues found with applications and introduces some new ones as well. Almost no system file has been updated, but with this release you'll find a brand new version of Mapparium (which now allows to compute routes), a new, more secure build of OWB with upgraded openssl to 1.0.1t, the latest version of SimpleMail

by Paolo Besser (noreply@blogger.com) at September 14, 2016 10:08 PM

September 09, 2016


libtrace – a library function tracer for FS-UAE

During development traces are a really helpful source of information when doing debugging or if you simply want to understand how a system works. When developing for the classic Amiga platform you learn a lot about the inner workings of applications if you could see what library functions they call and what parameters they pass in and get out. You can observe its behavior without having the source code and all that almost live…

Here libtrace comes into play: Its a debugging extension I have written for the famous FS-UAE Amiga emulator that allows you to take this look behind the scenes of the system: You can trace any library and any function set and you will see what function was called by printing its name, the arguments and the values passed in an out…

How does it work?

Build FS-UAE with libtrace

First you need to build a new FS-UAE from source with the libtrace feature. Use my libtrace branch on GitHub for this.

Configure Tracing

You need to write a small config text file that defines the trace profile, i.e. what libraries you want to see and what functions.

Name the file e.g. libtrace.cfg with the following contents:


Here we will trace dos.library and exec.library. In dos we want to see all functions (*) but not the Open() call. In exec only the InitResident() function is traced. The .fd files need to reside on your host in the given directory (here in the fd folder of the current directory). Take them from the AmigaOS NDK.

See the libtrace documentation for more details on the config file

Enable Tracing

Now run FS-UAE and enter the debugger with F11+d.

In the Debugger load the config file and enable tracing:

Lc 'libtrace.cfg'
Le 1

Exit the debugger and reset your Amiga to activate the trace (F11+r).

With the new Amiga startup you should see the traces popping in on your console.

It looks like this:

@00f81014 0000f8c8:Initial CLI exec InitResident(resident[a1]=00fbf080, segList[d1]=00000000)
@00fbf100 0000f8c8:Initial CLI dos CreateProc(name[d1]=00fbf09a, pri[d2]=00000000, segList[d3]=003efcdb, stackSize[d4]=00000800)
@00fbf100 0000f8c8:Initial CLI dos CreateProc -> d0=0001bd44
@00f81014 0000f8c8:Initial CLI exec InitResident -> d0=000160e0
@00fb85f0 0001c620:CON dos WaitPkt()
@00fb85f0 0001c620:CON dos WaitPkt -> d0=0001c5f0
@00fb85f0 0001c620:CON dos [DosPkt: Type=00000000 Args=00005883,00000000,0000084b,00000000 Res=00000000,00000000]
@00fb8490 0001c620:CON dos StrToLong(string[d1]=0001e06c, value[d2]=0001d0b8)
@00fb8490 0001c620:CON dos StrToLong -> d0=ffffffff

You’ll see the PC calling the function, the exec task with name, the lib and finally the function with all argument names and values. A second line reports the return of the function and prints the result value.

You can filter the trace and focus on a single task if you give its name in the debugger with the Lt option. Furthermore, you can write the traces to a file instead of the console with the Lo command.

Lt 'CON'
Lo 'out.txt'

That’s it… Read the libtrace doc for more details and a technical description of the inner workings of this feature.

Have Fun and Happy Amiga Coding!

by lallafa at September 09, 2016 08:15 PM

August 22, 2016


Well, Its been a while....

As ever hacking on AROS has proving to take up much of my time, too much to even think about posting on my blog. But here goes ..

Since the last update ive been hacking away on a number of things, mainly my Gfx subsystem update. So far I have most drivers adapted but need to finish implementing the software cursor support before they can all be used properly.

The changes themselves comprise of a number of things -:

# Separating the gfx.hidd into a hardware driver and display parts. This is to allow one gfx device to expose multiple displays to AROS, and has involved a number of changes to how the gfx subsystem works internally. Hopefully sometime in the near future I can make a more detailed post about the changes.

# Making the gfx hardware drivers real "AROS" hardware drivers - that way they can be enumerated using the hardware subsystem and exposed in apps such as sysexplorer.

# Adjusting all the gfx components and stuff which touches the affected interfaces to work again.

# Adjust the intelgma driver to use the base software compositor - its actually faster and has more features than the one that is embedded in the driver (and is very out of synch with the main code)

There where also a few bugs encountered in the gfx susbsytem that after fixing make some of the planar display modes work better (especially on hi-color displays).

I'm happy with the changes so far, and hope to get the remaining stuff done and pushed to the AROS repo as soon as possible.

The next thing I've been playing with is updating mesa. So far I have the IntelGMA driver and software rasterizer built using the newest mesa code (as well as the core mesa components), but until the nouveau code is updated cant push the changes to SVN.  Testing with IntelGMA and the Gfx subsystem updates yields roughly a 20% improvement in performance on Intel atom based systems which isn't too shabby.

Ive also done some massive work to the build system over the past 2 years so that we can finally now build working binaries with the latest GNU toolchains. Another part of these changes is to prepare the build system to use other toolchains (LLVM), however there is still some work on the toolchains themselves before this can be taken advantage of.

My final project though, has been an interesting ride. I've been working on getting the FinalWriter 6 codebase to build with gcc, aswell as fixing it to run on AROS/64bit.  It was surprisingly easy to get the actual code compiled but took a few weeks to dig through some of the issues caused by using a different toolchain than it was originally written for, and finding the issues stopping it from running on 64bit. Evenetualy we managed to bring it up though, and while it ran there where still some problems and visible gfx issues.

Over the past week or 2 I have been working on adapting the GUI code to use localization via the locale.library, and have been quite productive with it (about 80% done, including the german translation!). So at the weekend I decided to tackle a few of those Gfx niggles. It was an interesting experience, and after some soul searching and head scratching I managed to get to the bottom of them!

A bit of code fixing later and the rendering is now correct. There was a bug needing fixed in AROS's vsprite/bob handling, which resulted in the pop up menus displaying incorrectly, and also  the base finalwriter shell class used hard coded GUI elements which required a bit of reworking (as in adapted to be a subclass of sysiclass) but finally the results spoke for themselves! it now has AROS's checkbox, radio and (themed) window scroller arrow gadgets, making it fit in much better with the rest of the system.

by noreply@blogger.com (Kalamatee) at August 22, 2016 02:21 AM

July 28, 2016


romdisk 0.1 released

Recently, I was thinking about a minimal Amiga emulation setup that is required to run Exec and Dos from a Kickstart ROM image. Think of a reference platform for vamos. I soon came to the conclusion that all kinds of boot types result in accessing a device that provides the requested file system blocks. As a consequence the emulation also needs to emulate some kind of device accesses next to the essential CPU, memory, and CIA (timer, serial) emulation we will need at least. Trackdisk device needs custom chip support for track reading, while scsi.device needs some IDE host emulation.

If you compare a classic Amiga with modern embedded devices (like a Raspi or a Beagleboard) you see a difference: the modern devices often allow to boot directly their filesystem of the on-board flash. “Why not create a ROM bootable device for Amigas?” was the next question that came to my mind. With such a device it is sufficient to emulate CPU and memory and the Amiga can already boot…

The result of this initial idea is a small project called romdisk: It offers a romdisk.device that can auto-boot a modern classic Amiga (OS 2.x or 3.x) and also a tool to embed disk images into an ext. ROM image. Without compression you get ultra fast data access, but with compression you can even fit a complete Workbench floppy disk image (880 KiB) into your 512 KiB ext. ROM.

The first public release is now available and can be found on my new romdisk project page!

While it started as a helper project for my emulation tests, I am sure you can think of new uses for romdisks, too. E.g. some diagnosis tools that do not need external devices to run, or a rom disk stub that loads non-rommable modules and then heads over to full boot from hard disk, or a small network boot disk that loads the main file system via network…

Have Fun!

by lallafa at July 28, 2016 07:02 PM

July 06, 2016


EmuLa v1.4 available for download!

Hello all,
I'm glad to announce that the first public release of EmuLa is available for AROS i386.

EmuLa features an unique approach to roms recognition based on the file crc: this method allows EmuLa to be extremely precise in rom recognition, this way the user is never asked to resolve ambiguities.

July 06, 2016 06:12 PM

June 28, 2016


Breaking the silence

I did some smaller things in WinUAE, but I was quite lacking motivation and time the last few months..

So today I decided to do something just for fun:

Who wants ssh on AROS?

Disclaimer: As always, this is just a first and quick port of plink, which is part of the putty package. Not meant for real life usage. But quite stable, as it seems already.

by noreply@blogger.com (o1i) at June 28, 2016 02:58 PM

June 20, 2016

Icaros Desktop

Say 'hello' to Icaros Desktop v2.1.2!

The second update pack for Icaros Desktop 2.1 has been released. This time, we focused on enhancements of current features, rather than adding new ones, but we feel that new changes/additions worth the wait. First of all, we added support to Windows 7 (Vista and upwards) shared folders through SMB handler, so exchanging files between your networked computers (or, even better, from your Windows/

by Paolo Besser (noreply@blogger.com) at June 20, 2016 06:44 PM

April 28, 2016


PortablE r6 beta released

Original Image
PortablE is a recreation of the AmigaE programming language, along with all the improvements I wanted.

This is a small update, which makes any generated MUI code human-readable, and fixes a few bugs.

Previous versions of PortablE were aimed at existing AmigaE users, but PortablE now aims to be attractive for new users too. Although it's still "beta", it should work well, and further incompatible changes seem unlikely.

See the main manual for everything that has changed since r5. There have been the following big changes since the last beta:
* Built-in procedures can now support unlimited parameters (although only some have been updated to use this ability).
* Improved MUI modules to use procedures with unlimited parameters (instead of immedate tag lists). So the C/C++ code generated for GUIs is now human-readable!
* Added the NoListOptim switch, so that the code generated for Immediate Lists can be more human-readable.
* When a bug exception was thrown during compilation, it could give the wrong message. Now fixed.
* Fixed a few module bugs.

You can download it from here:

PortablE comes with documentation, but you can find on-line documentation, examples & the latest version of PortablE from it's homepage:

April 28, 2016 06:09 PM

April 18, 2016

Icaros Desktop

Running Icaros at light... ehm, RAM speed

Some times I like to make silly experiments, for the pure curiosity about their possible results. One of the questions I always wanted to give an answer was: "how fast would Icaros be, if it only could run straight on RAM, without hard drives or SSD involved?". The answer is, of course, in the middle between "amazingly" and "blazingly" fast, and I could prove that quite easily. I've been given,

by Paolo Besser (noreply@blogger.com) at April 18, 2016 03:54 PM

April 11, 2016

Icaros Desktop

The new kids on the... box

There's no doubt about this: Norbert Kett is definitely one of our latest heroes. After many weeks of development and internal testing, he just released his brand new filesystem handler for DropBox, and he released it for all Amiga flavours, including x86 AROS. We obviously downloaded it from Aminet immediately, and started extending the "GDrive" preference program to support it. If you wonder

by Paolo Besser (noreply@blogger.com) at April 11, 2016 01:06 AM

April 07, 2016


Icaros 2.1.1 has been released

Update 2.1.1 for Icaros Desktop has been released. Mainly a bug-fix release, this new version includes OWB 1.25, fixes VICE crashes on exit and restores HDToolBox missing text. It also includes some updated AROS system components which were erroneously left outside Icaros Desktop 2.1.

Icaros Desktop 2.1.1 comes in the usual flavours: Icaros Desktop Live!, tailored for DVD-ROM media and provided with an already configured QEMU virtual machine for Windows; Icaros Desktop Light, the "core system" which can easily fit on a CD-ROM and a small pendrive; and a Update Pack for current Icaros 2.1 users.

New from Icaros 2.1
- Updated OWB to final release 1.25
- Updated VICE ermulators to version 2.4 (n/a on Light version)
+ Fixed crashing on exit
- Fixed HDToolBox right panel text
- Updated LiveUpdater
+ fixed bug with user-startup being moved to RAM: without motivation
+ Updates are now performed at startup, when no program is running

For screenshot and more information, including the list of new OWB features, please visit

http://vmwaros.blogspot.co.uk/2016/04 ... de-to-icaros-desktop.html

April 07, 2016 01:13 AM