** 2 page review / 1587 words ** MagiC Multi-tasking Mark Wherry takes a historical look at multi-tasking, and a closer look at MagiC 5.1... TOS is a single-tasking operating system (OS) which can only run one application at a time. Overcoming this limitation has kept programmers occupied for years... On the Atari platform the first attempts to run more than one application were "program switchers" such as Twist (HiSoft), Softlink (C-Lab) and K-Switch (Kuma). Several programs could be loaded into memory and the user could manually switch between them. The first recognisable multi-tasking software was called MultiGEM, released by Maxon in Germany, towards the end of 1992. This "piggy-backed" applications so they could use the traditional accessory slots - consequently only six programs could run at the same time. In 1994 Atari put the "asking" back into multi-tasking with the release of MultiTOS. This should have been an amazing product, but during development it had become bloated, memory hungry and very slow, especially on standard ST's, where all sorts of other problems surfaced. With the benefit of hindsight it wasn't nearly as bad as the pundits made out. The final version AES 4.1 (the one that got away, because it was never officially released) is perfectly usable and included with Knarf's German MiNT Distribution. Just after MultiTOS flopped Gribnif Software released Geneva, which ran happily on standard STs and was referred to by ST-Format at the time as "the multi-tasking system that MultiTOS should have been". Geneva quickly established itself in North America but never really took off in Europe where something magical was about to happen... It's a kind of MagiC MagiC was released in 1994 and it was, and remains, the only complete TOS compatible OS replacement. All the other alternatives merely replaced part of TOS to facilitate multi-tasking which left all the other TOS problems such as the buggy serial port routines and the infamous 40 folder bug intact. However, it took until 1996 before the first Falcon compatible release and in the meantime MagiC lost a lot of friends. MagiC is currently also available for the Mac and PC platforms offering TOS compatibility on three different hardware platforms - a remarkable achievement. Whaaat Dialog? With TOS no longer under development we're lucky third party developers have continued to offer system enhancements enabling our machines to take advantage of the latest trends in OS development. An excellent example is the WDIALOG extension, programmed by Thomas Much, built into MagiC from v4 onwards, and available to non-MagiC users as a separate Auto folder program. ** WDFNTSL.GIF here ** ** Caption ** The WDIALOG font selector integrated into MagiC ** end caption ** WDIALOG provides a standard interface for non-modal dialogs, along with a font selector. By calling WDIALOG programmers can save memory and avoid having to include their own built-in routines. Users get a consistent user interface and applications need less memory to run, so everyone's a winner! ** WDPD.GIF here ** Recently, a printer settings dialog has been added which means Atarians running NVDI v3 or later can now configure the printer from within applications without the need for an external control panel or desktop accessory, just like owners of Wintel/Mac machines. Missed opportunities? Sadly, many of the exciting features introduced in MagiC versions 4 and 5, such as threads, loadable file systems and device drivers, have passed virtually unnoticed and unsupported by programmers. Interestingly these features are also available under MiNT. Threads effectively allow multi-tasking within a program. For example, instead of programming built-in background printing routines programmers could simply start a "child" process containing the print routine and leave MagiC to get on with it. Loadable file systems work like this, small programs which the OS loads to add a new filing system, like a CD-ROM, network, or RAM disk. Currently, only the latter exists, which is a shame. A new CD-ROM file system for MagiC would be a blessing! Loadable device drivers are similar to loadable file systems, except they add a new device to your computer. For example, the accelerated printer device FPRN, bundled with NVDI. ** WDFLSL.GIF here ** ** Caption ** With suitable programming, the MagiC file selector can also appear non-modally - just like Freedom? ** end caption ** Documentary evidence I would like to know who exactly believes 48 pages is enough to describe a complete operating system! Although what's available is well produced it's poorly organised leaving users to poke around and hope! MagiC 5.0 came with a text file on disk briefly explaining the new features. MagiC 5.1 comes with the exact same text file, re-labelled 5.1! To summarise, there is not one scrap of English documentation explaining what's new, and that's not good enough! So what is new? The first thing you will notice is enhanced window handling. Previously when moving a window, a ghost (hollow) representation of the window appeared and you moved this to the destination. In MagiC 5.1 windows no longer de-materialise - you move the entire window in real time instead! Window re-sizing is even more impressive, as you drag the resize gadget around, icons re-organise themselves in real-time so you can see exactly what you'll get when you release the sizer. The only other OS, on any platform, which currently offers this feature is Acorn's RISC OS and to have this feature on our thirteen year old platform is impressive! However, real-time actions gobble up processor power so holding down the [Control] key displays the familiar ghost images again. The choice is yours. ** M5WTTB.GIF here ** ** Caption ** Window shading "rolls up" windows, like a roller blind, leaving just the title bar visible. ** end caption ** Window shading is great fun for a few minutes, especially if you use SysSound to add sound effects to the actions, but I don't see the point. We already have perfectly sensible Iconify and Hide options. Shaded windows can be iconified like any other. A similar but, in my opinion, more useful feature has been implemented in the latest Mac OS8. This enables windows to be collapsed to a bar across the bottom of the screen - similar to the Windows95 task bar. Forget me note With loads of people writing desktop note utilities, I'm surprised the MagiC authors bothered to write their own but I'd have to admit theirs is one of the best. It is quick, simple and integrates better into your system than the alternatives. On the downside it hasn't been translated, oh well! Last, but not least... ** MAGXDESK.GIF here ** ** Caption ** MAGXDesk has finally acquired the ability to substitute a right click, for a double left click, a small but significant improvement ** end caption ** I have encountered an annoying disk problem with this new version. If I boot my computer with a disk in the drive then try to access a floppy, the program crashes or the computer hangs. I'm aware not all users suffer from this problem but if anyone has a solution or can explain what's happening please get in touch via the usual editorial address. Conclusions TOS development is dead and buried. Multi-tasking is too good to do without so if you don't already own a copy of MagiC and you have at least 4Mb of memory and a hard disk, get a copy now! Geneva is an excellent alternative but doesn't enjoy the widespread support given by authors to MagiC. MultiTOS and MiNT is fine on faster machines and for anyone who likes to experiment. ** boxout ** Programmer's problems The programming documentation for MagiC is only available in German and all the material is written for the Pure C. In the UK most people use HiSoft Lattice and can't read German! This double whammy is a real obstacle to development. We really do need any or all of the following: ** BL on ** * Some programming functions written with Lattice in mind. * Someone to release an English (or German) version of Pure C in the UK. * English documentation - ST-Guide format would be perfect for this. ** BL off ** ** End boxout ** ** Boxout ** Time share anyone? A multi-tasking OS works by loading each application into memory then switching rapidly between each one in turn, creating the illusion that each program is running separately at the same time. Rapid switching between applications is called "time slicing" and two different ways of sharing time between applications have emerged, these are called "co-operative" and "pre-emptive" multi-tasking. Co-operative multitasking devotes most of the processing time to the application with the active (topped) window and only gives background applications a slice of the action if the topped program is idle or a background application decides it has to muscle in to ask the OS a question or bring all the other applications to a grinding halt by displaying an alert dialog (installing Freedom avoids this). Pre-emptive multi-tasking gives each application a smaller, more rapid, time-slice, regardless of the topped application or system calls. In everyday use there's not much to choose between the different methods but purists tend to regard pre-emptive multitasking as superior to co-operative multi-tasking. MagiC is a fast pre-emptive multitasking OS which can be switched to run as a co-operative multi-tasking OS if preferred. Geneva runs as a co-operative multitasking OS by default or as a pre-emptive multitasking OS using MiNT. ** end boxout ** ** Product boxout ** MagiC 5.1 Publisher ASH UK Distributor System Solutions Contact Tel: +44 (0)181 693 3355 Fax: +44 (0)181 693 6936 Email: info-software@system-solutions.co.uk URL: www.system.solutions.co.uk/cafe/ Cost £69.95 (£5 upgrade from v5) Pros A complete, compatible, fast, reliable, pre-emptive multi-tasking operating system. Lots of "hidden" features. Widespread support by programmers. Cons Poor documentation. Virtually no English programming details. 92% ** end boxout **