o1i's Planet AROS

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

April 05, 2016

Icaros Desktop

It's time to upgrade to Icaros Desktop 2.1.1

Nearly a month after Icaros 2.1 release, it's already time for an update. Icaros Desktop 2.1.1 does not introduce new features, but updates OWB 1.25 to its final version and fixes a couple of nasty bugs: VICE does not crash anymore on exit, and HDToolBox will now show text on the right panel again. Newer OWB improves stability and compatibility over the beta version published with Icaros 2.1,

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

April 04, 2016

Icaros Desktop

New LiveUpdater available for download

It's time to add LiveUpdater a very old requested feature which, for a reason or another, I always forwarded to better days: update on reboot. What happens, currently, when you perform a system update with LUPD? Basically, every file gets updated no matter if it is in use or not. Just think about big programs like OWB, Magellan, or Janus-UAE: they might be updated when you're using them, and

by Paolo Besser (noreply@blogger.com) at April 04, 2016 05:23 PM

April 01, 2016


Odyssey Web Browser 1.25 Released

Odyssey 1.25 for AROS is now available for download from http://download.aros3d.org/releases/owb-1.25.i386-aros.zip

Top features of this release are:
- Updated to WebKit r187682 (July 2015). (AROS)
- Ported Odyssey directly on top of WebKit repository. (Common)
- Enable HTML5 video feature. (AROS)

This version of Odyssey requires Icaros 2.1 or newer to work correctly.

April 01, 2016 10:00 PM

March 29, 2016

Icaros Desktop

Writing to your Google Drive from Icaros

You have downloaded Icaros Desktop and - hopefully - installed it onto your hard drive. You learnt from the manual (or from our site) how to access in read-only mode your Google Drive stuff but... well, it would be awesome to write it too! There are at least two ways to do it, and if you carefully looked to our screenshots, you would have noticed that we actually did that before

by Paolo Besser (noreply@blogger.com) at March 29, 2016 06:13 PM