What is different about tornado II?

So what are the differences between tornado I (which most of this site still describes) and tornado II?

  1. Tornado now is written in C and portable across a multitude of platforms
  2. Tornado runs under another GUI system ie; as a subsystem of the host GUI
  3. Tornado applications now actually run as programs under the host GUI (via recompilation) but use a thunking layer provided by the tornado server to (a) remain portable (b) interact with the host system and other tornado applications and (c) to use tornado server provided functions

However, these rather radical changes do NOT change the ethos and philosophy of tornado - which is reflected still by these pages. What it does do is radically alter the scope of tornado and indeed the potential of completely portable applications truly becomes a reality. Unlike Java, which suffers from adhering to what is currently commonly available on the various GUI's, tornado redefines what is available on all GUI's and thus does not suffer from outdated methodology.

How the new tornado II works?

Tornado II is based on a client/server relationship. Applications written in C are compiled with a set of common standard tornado header files which binds library link information into the executable. This then means that when the host GUI executes the program, the shared tornado library routines are made available to the program and thus the program now becomes a client.

But a client to what? For tornado II programs to interact with each other properly and provide the facilities shown at this site, a server also runs on the host GUI. This server provides various common facilities used by tornado programs - but not available on the host GUI. So, for example, here's how a window belonging to a tornado program is redrawn:

And essentially so on. The potentials are pretty obvious and the system is relatively simple but yet quick and powerful. It also should work on all the major GUI's - however, it will not work on RISC-OS as it stands.

What will be done on RISC-OS

RISC-OS currently sits someway short of the basic minimum required by tornado II. The first, and most obvious, is that the RISC-OS Wimp does not preemptively multitask its processes nor does it provide facilities to do so except for the taskwindow which is too restrictive for tornado.

So, as a result, these missing features need to be implemented. Work has already started on this and it is expected that a preemptive multithreading multitasker extension to the RISC-OS Wimp will be ready in early 1997. Alpha and beta copies are available from hensa in folder d124 - here.

Despite their tornado II orientation however, these support modules will also be available to non-tornado RISC-OS code. Details on how to use the tornado support module is also at the above url.

© 1996 Niall Douglas (Last updated: 11th December 1996)