Tuesday, February 18, 2014

Enhancing the bridge

Now that Magellan is in a quite good shape (yes, I'd need to add some more filetypes and maybe give Icaros' configuration more love, but I guess it can be done later), it's time to look after the rest of the distribution. One of the key features of Icaros Desktop is, obviously, AmiBridge (the ensemble of core components that allow M68K emulation and old Amiga applications support). Everyone who downloaded WIP5 already know I changed the way AmiBridge presents itself: by default, it no more tries to integrate old programs in the AROS desktop, but opens a new emulation screen and run them over there. This was, obviously, the beginning of major changes I was already planning for a while but, for a motivation or another, I couldn't ever turn into real code.

If you carefully looked in the AmiBridge:AmigaApps directory, you could find a very old script called "ADD_PROGRAM" which, in the beginnings of AmiBridge life, allowed users to create a shortcut to a 68K application. It practically created a launch script in the same directory that would just call Janus-UAE, add a "RUN this:application/for/amiga" line in guest S drawer, and let the guest OS (which was AmigaOS 3.x, strictly taken from Amiga Forever) run just that program, without the overhead of Workbench and other possible applications launched at boot time. A quite good beginning for 68K support, but obviously not a ideal one since it opened a whole Janus-UAE session for every program, easily running out of host memory. The ADD_PROGRAM script became obsolete when Janus-UAE gained integration support, so we could run just a single session of the emulator and hide it to user eyes, showing just the portion of the screen used by Amiga programs.

ADD_PROGRAM, however, was not deleted from Icaros. It was just hidden removing its icon. It has been always there and, obviously, it continued to work if you just executed it. I was sure some day it would have been useful again and that day has come. Since we now have both AROS and AmigaOS available as possible guest operating systems, with many possible integration levels like fullscreen, windowed, with or without workbench/wanderer and so on, it just would have been nice to give users a way to run a single application like they wanted, without opening the screen, running workbench, going to the right path and so on. Just create a shortcut in AmiBridge menu et voilĂ , you're ready to work.

The new script will be called ADD_SHORTCUT and is a direct evolution of its parent one. It will handle running applications inside AROS 68K or, if your have integrated AmigaOS 3.X through Amiga Forever, inside AmigaOS. Let's see how it will work in next Icaros release:

1. First of all, it will appear in the usual menu with its own new icon:

2. Once run, you have to choose an Amiga M68K application. Let's choose Ignition...

3. The following question will appear only if you have integrated AmigaOS from Cloanto's Amiga Forever. Otherwise, it won't ask anything and it will default to AROS M68K.

4. Look at the menu: it's changed! Not only it has added Ignition to the options, but it has also taken its original icon for faster reference. 

5. Run it and the application will open, following settings for AmiBridge you've set using the usual AmiBridge script in /Prefs.

But what is the best part of shortcuts? They use a custom .uaerc configuration file instead of the default one (actually, it gets copied from the default one at the moment of shortcut creation), so you can change it whenever you want. Are you dealing with an application that needs a faster processor, a different screen handling, a better audio or joystick support, but you don't want to mess with the default configurations? Here's the solution! Just press Ctrl+Alt+J and modify the settings for this application only!