IYONIX is Born...

Paul Skirrow, Software Support Manager for the IYONIX pc, charts the development history of Castle's new 32-bit RISC OS 5 system

Introduction

"A new RISC OS computer with Intel XScale processor, PCI cards, USB ports, graphics acceleration and UDMA hard disc interface with a 32-bit operating system running 32-bit applications in time for Christmas," they enthused.

"They're mad," I thought, but nodded and smiled enthusiastically while looking around for the quickest escape route.

Everybody knew that RISC OS only ran in 26-bit mode and that the latest ARM processors, including the Intel XScale, only worked in 32-bit mode. Without a 32-bit operating system it wouldn't work and without 32-bit software it wouldn't sell.

The challenges in designing a new motherboard were immense and the effort to get RISC OS running in 32-bit mode was enormous. Castle had been planning this for some time, but the project didn't start until May 2002, so the team had just six months to deliver, which looked wildly optimistic.

Had anybody else proposed such a crazy scheme I would have run a mile, but with Jack Lillingston and John Ballance driving it, and some superb engineers working on it, I could see that they wouldn't let piddling little details get in the way of their dream machine.

Jack and John started working together in 1989 and created Castle Technology Ltd in 1993. Their partnership is the key to Castle's success and the success of the IYONIX pc. Jack focuses on the marketing and selling while John has the technical skills to make it all happen. Together with the development team they are probably the biggest RISC OS enthusiasts around.

Fortunately, Pace already had a 32-bit version of RISC OS which had been developed for future set-top boxes (STBs) and Internet TV systems. This was a good starting point, but Pace had only converted the components it had needed to 32-bit. Set-top boxes didn't have hard discs or desktops, so ADFS and Draw, for example, still needed converting, as did hundreds of other components.

The specification and plan was determined at these meetings in May. Castle employed new staff, including some staff they had laid off a year previously, out-sourced portions of the work and the project began...

XScale

There were few arguments about the specification. It was clear what was needed: the fastest ARM processor money can buy, fast memory, a fast disc drive and fast graphics. The 600MHz Intel 80321 XScale processor was the obvious choice, running at over 250% of the speed of a 233MHz Risc PC.

This is the fastest ARM processor that could be used. The only faster ARM chip available is the 733MHz 80200, which has no memory controller, no PCI interface and no DDR memory bus, so it was not a practical option.

Note: strictly, we shouldn't refer to 'the XScale processor' as there is no such thing. The IYONIX pc actually uses the 'Intel 80321 I/O Processor with Intel XScale microarchitecture'. It is commonly referred to as the Intel XScale for convenience.

For reliability, the processor is soldered to the motherboard and not socketed. The length of the PCB (Printed Circuit Board) tracks to the DDR RAM must be trace-matched to within 0.025", and the addition of a socket would make this horrendously complicated, having to account for extra pin capacitance too. It is also very unlikely that a future Intel processor would have sufficiently similar functionality to be able to replace the 80321 directly. (Acorn was able to use plug-in processor cards in the Risc PC because the memory bus was much slower and the processor cards were effectively raw processors on a card, as IOMD and VIDC remained on the motherboard.)

Thanks for the memory

The IYONIX pc uses 200MHz Double Data Rate (DDR) SDRAM, which means that data is transferred on both the rising and the falling edge of a 100MHz clock. Since the bus is 64 bits wide it enables two 32-bit words of data to be transferred on each edge of the clock, which equates to 400 million words per second, or 1600Mb/s, and this is sometimes referred to as PC1600 memory. This is 25 times faster than the Risc PC, which could only do 32-bit transfers at 16MHz or 64Mb/s. For memory-intensive operations this increase is very noticeable, and much more significant than the increased processor speed.

The case is altered

A Risc PC case didn't have the space for the internal expansion that was required, so a PC case was chosen. There was much debate about the case size, but a poll of a select few revealed a strong preference for a small case rather than a large tower case. The case that was finally chosen is based on a standard Micro ATX PC case, but has an extra cut-out to enable the two expansion podules to be fitted. It also provides front-mounted USB sockets and space for an additional 5¼" drive and an internal 3½" drive.

The IYONIX pc case with front-mounted USB ports and reset button   IYONIX pc case design

With four PCI slots and two podule slots there is plenty of expansion capability even though two of the PCI slots are used by the graphics card and the USB card. Although it might appear limiting by PC standards, it is important to remember that the motherboard is well equipped with stereo sound, Ethernet and two serial ports.

The most popular expansion cards for Risc PCs were probably SCSI, graphics and fast IDE interface podules, and it is unlikely that any of these will be needed in the IYONIX pc: SCSI has been superseded by USB for communicating with external devices such as scanners; the built-in 24-bit colour graphics should be adequate for high-end graphics applications; and the fast IDE interface in the IYONIX pc avoids the need for faster disc interfaces.

Some people have asked why podules are still supported. It is important to remember that many users have specialist podule cards which they will be reluctant to lose. Many scientific and technical organisations have developed custom podules for interfacing or controlling external devices, and it is important that they can still be used. Castle is also keen to see hardware developers supporting the IYONIX pc, and many will welcome the chance to sell podules to IYONIX pc users, or to develop new podules which can still be fitted in older computers.

PCI cards

Since Intel introduced the PCI bus in 1993, a wide range of low-cost PCI cards has appeared for a wide range of applications. Several RISC OS developers are now working on drivers to enable certain PCI cards to be used in the IYONIX pc, and we can expect to see PCI cards being sold with the necessary RISC OS drivers soon. Since the market for PCI cards is so great, the cards should be much cheaper than an equivalent podule, even allowing for the cost of the RISC OS drivers. For example, while a triple serial port podule costs around £100, a similar PCI card for an IYONIX pc can be expected to cost less than half that amount, even with a RISC OS driver.

Graphics galore

A PCI graphics card was chosen as it offered good performance at low cost with little development effort. The IYONIX pc currently ships with an nVidia graphics card which works extremely well.

Initially there was some concern about the poor read performance, which is one fifth of the write speed. This was very noticeable when scrolling the screen or dragging windows, as the operating system had to read the existing screen data before writing it to its new location.

Fortunately, the nVidia card provides a 'graphics accelerator' engine which is capable of performing many graphics operations by itself, without any intervention from the processor. RISC OS was modified to use the graphics accelerator for block-moving operations (also known as 'bit-blit' operations), block fills and solid line drawing. Instead of the XScale processor reading and writing thousands of words of memory every time a window is dragged or scrolled, it simply sends a bit-blit instruction to the graphics accelerator and lets it do the work. Existing software that uses the window manager, OS_SpriteOp or VDU calls, will benefit automatically from the graphics accelerator without needing any software changes. There is no need to do anything differently in order to take advantage of the graphics acceleration, but it is recommended that screen reads are avoided as far as possible.

The graphics performance represents a huge improvement over the Risc PC, offering resolutions of up to 2048×1536 pixels using 16 million colours. This is ideal for professional graphic design, as well as for home users wanting to manipulate digital camera images. Indeed, most users will use 16 million colours as their default screen mode.

During the development there was some concern that applications might not be able to write directly to screen memory, and this would have caused problems for games and some other programs. Castle's engineers managed to work around this problem, so direct screen access from user mode is possible providing that the screen base address and other screen parameters are read from the appropriate VDU variables (note that VDU variables can now be read in Basic using the new VDU function).

The only limitation of the graphics card is that it doesn't support screen modes that use fewer than 256 colours. This doesn't affect desktop applications or modern software, but it can cause problems for games that were written to use 16-colour screen modes. Some other programs (for example, Sibelius) also use screen modes with fewer than 256 colours. One solution would be to fool these old programs into thinking that they are writing to screen memory, when in fact they are writing to a buffer which is then converted as it is copied to the real screen memory in the background. Neil Spellings says that Aemulor Pro will do this, thus enabling old software to be used with the nVidia graphics card fitted in the IYONIX pc.

Some people have questioned why an AGP (Accelerated Graphics Port) graphics card was not used. The 80321 processor doesn't have an AGP port, so additional interface chips would have been required to connect an AGP card to the PCI bus. This would have increased the cost and the development time while offering little benefit. The current graphics card works extremely well, especially as RISC OS makes good use of its graphics acceleration capabilities.

USB updates pathetic parallel port

After some debate, the parallel printer port was dropped as it is regarded as an old-fashioned interface that really should have died long ago.

USB ports are faster, take up less space, use thinner/neater cables and, by using USB hubs, enable up to 128 devices to be connected simultaneously. The IYONIX pc provides two USB ports on the rear panel and two on the front of the case. Many monitors, including some of the Iiyama LCD monitors that Castle supplies, have built-in hubs, making it possible to connect both the mouse and the keyboard to the monitor, with a single USB lead connecting the monitor's USB hub to the computer.

Nearly all modern printers have USB ports; although a few have a parallel port as well, they are becoming increasingly rare. For users who wish to use an old parallel-port printer, Castle can supply a low-cost USB-to-parallel converter.

Twice as nice: two serial ports

It could be argued that serial ports have also been superseded by USB, too, but serial ports are still the only way of connecting many devices, and they are also used for connecting all sorts of specialist equipment such as modems, digital cameras, control systems, EPROM programmers, Caller ID units, test equipment and so on.

Rather than drop the serial port, Castle provided a second port. In the current RISC OS release the second port is unavailable to end users, as it is still dedicated to debugging purposes, but it will be supported in future versions of the IYONIX pc's HAL (Hardware Abstraction Layer).

It would have been nice to upgrade the serial port API (Application Programmer Interface), throw away OS_SerialOp and OS_Byte and use a neat interface that could handle multiple serial ports. The problem is that this would stop existing software from working. The development team decided to make the first serial port work in the same as a standard serial port (accessed via OS_SerialOp etc.) while providing access to the second serial port via a block driver. Many existing programs, including Internet diallers, PsionFS and Caller ID software, allow block driver serial ports to be selected, so they will be able to use the second serial port without any software modifications being required.

Prototype problems

The first prototype PCB (Printed Circuit Board) arrived back from the factory fully populated with components and ready for testing. Everybody was delighted to see it fit inside the case perfectly and, apart from a single fault (a short between PCB layers), it worked first time.

The four-layer motherboard at the heart of the IYONIX pc   IYONIX pc motherboard

USB upset

The most serious problem was the built-in USB1.1 interface not working due to a design fault in the SuperI/O chip. The manufacturers acknowledged the problem but were unable to fix it in the time scale, so Castle decided to fit a USB2 card instead. This added a little to the cost and used up a PCI slot, but it kept the project on schedule and also makes USB2 a possibility for the future. Although the card is only used in USB1.1 mode, offering data transfers of up to 12Mbits/s, it actually supports USB2, offering data rates of up to 480Mbits/s. This isn't supported by the current software but could be added via a software update in the future.

Even newer look

Castle decided to produce a new set of icons for the IYONIX pc to give it a new and more modern look. Richard Hallas was commissioned to develop these icons, and he used ArtWorks with the Crystal plug-in to draw detailed icons which were then converted into bitmaps. Richard made good use of the 16 million colour palette to give the icons subtle shading and highlights while ensuring that they still looked good in 256-colour modes.

To minimise the memory requirement, each icon used a palette of 256 colours with each palette optimised to use the best 256 colours for the icon (from the full range of 16 million colours). Even then, the icons wouldn't fit in the 4Mb RISC OS ROM. We considered using a different set of icons in ROM, but that would have been very confusing for users if their machine ever started up without loading the disc-based icons (for example, because of a disc fault). The solution was to use 16-colour versions of the new icons in ROM, but soft-load the 256-colour icons from disc. Normally the ROM icons will never be seen, but if the disc fails to boot, the result is icons that look similar but use fewer colours.

IYONIX is cool

A key design aim was to produce a computer that was quiet. The Intel 80321 processor runs much cooler than a modern Pentium or Athlon chip and doesn't need an on-chip cooling fan or heat sink. The IYONIX pc uses a single, variable-speed fan which is inaudible in normal use. The only disadvantage is that you don't realise that the computer is turned on! No doubt an enterprising individual will soon write a utility to play a soothing fan noise through the loudspeaker whenever the computer is running...

Can you keep a secret?

Jack and John both knew that it was essential to keep the project secret; so many companies have failed because they announced products that couldn't be delivered on time. This frustrates potential customers, gives you a bad image and kills sales of existing products. One of Acorn's biggest mistakes was when Peter Bondar announced the Phœbe computer too early. Sales plummeted while customers waited and management decided that nobody wanted RISC OS computers and cancelled the project.

The Tungsten developer Web site was used to distribute information to developers   Tungsten CONFIDENTIAL banner

Everybody involved in the Tungsten project, as it was known, had to sign a strict Non-Disclosure Agreement (NDA) which prevented them from discussing the very existence of the project, let alone any details, and this proved very effective.

Third party software

Castle needed to get developers on-board early so that they would have time to convert their software in time for the Christmas launch. The core developers were signed up early and commissioned to supply software that is bundled with the machine. They were also given early access to the new 32-bit C compiler, other tools and documentation via the Tungsten Web site.

Although the IYONIX is not a PC, it is important that it can use PC files. Castle worked hard with developers to ensure good file compatibility with the important file types.

Colin Granville did an excellent job in updating his public domain PDF reader to work on the IYONIX pc. He also added several new features, the major one being the ability to show links in a different colour.

Gerald Fitton helped by providing a new version of Fireworkz with support for the latest Excel file formats (including worksheets).

Icon Technology produced Writer+ (a derivative of EasiWriter), which is capable of handling Microsoft Word 6, Word 7, Office 97/98 and Office 2000 documents.

Oregan Networks was commissioned to produce Oregano 2, with support for Macromedia Flash movies. A prototype version is currently being bundled with the IYONIX pc and free upgrades to the full version will be available soon.

David Pilling quickly updated all of his software to run on the IYONIX pc and supplied a read-only version of SparkFS to enable Zip and other archive files to be read.

D-Day

Telling other developers posed a problem. Castle had to get potential developers interested in the project without giving away any details. Jack's solution was to invite developers to a 'Developer Day' where they would learn about writing 32-bit software. Enough was given away to attract developers' interest, and hint at the possibility of a 32-bit machine, without giving too much away, and developers had to sign an NDA before the secret location and true nature of the event was revealed.

The developer day took place on Monday, 7th October at a hotel near Kettering. Developers sat through Jack's presentation before the dozen covered prototype machines were revealed. Jack had to turn off the air conditioning, projector and fluorescent lights to demonstrate just how quiet the prototypes were.

The presentations went well, but we had been so keen to explain the details of the new machine and the intricacies of writing 26-bit/32-bit neutral software that we hadn't prepared any whizzy presentations to show off the speed. Fortunately, Mike Glover and Gerald Fitton came to our rescue, using 32-bit versions of TechWriter and Fireworkz to show off the capabilities.

Many of the developers were amazed that the project could be so advanced without there having been any leaks, and several took prototype machines away on the day. Nevertheless, Jack knew that rumours would start spreading, and he had prepared some careful marketing to pre-empt any speculation. The www.iyonix.com Web site went live on 17th October, giving a taster of what was to come without committing Castle to a firm specification. It hinted at USB, PCI, DDR RAM and an XScale processor without saying what the speed would be, nor how much RAM it would have. Even developers weren't told the speed, although the keener ones deduced it from their own benchmarks.

IYONIX is go...

The IYONIX pc was successfully launched on schedule on Saturday, 28th November 2002 at the RISC OS Midlands Show. It is a credit to everybody involved that the details, specification and prices had been kept secret right up to the moment when machines went on sale to the public.

The IYONIX pc   IYONIX pc

The IYONIX pc is the first desktop computer to use an Intel XScale processor, and the most powerful RISC OS computer ever made. It is now a very stable system with a wide range of software available, and more and more users are now finding that they can use the IYONIX pc as their main computer.

Hundreds of developers have been working hard to bring a wide range of commercial and public domain software to the IYONIX pc, and we can expect to see announcements of many more 32-bit-compatible programs in the coming weeks.

Old software that is not being updated, such as Impression, will still run at comparable speeds to a StrongARM Risc PC thanks to the forthcoming Aemulor software, so there really won't be any reason to keep using your old computer.

IYONIX web site

The www.iyonix.com site quickly became the focal point for all IYONIX information on the Web.

It was important to have a wide range of compatible software available at the launch, so the software database at www.iyonix.com/software was created. It allows developers and publishers to create and maintain their own entries directly, without needing to ask Castle. This database will be updated soon so that descriptions and version numbers can be updated automatically from developers' own Web sites. That way, developers won't need to keep logging in and making changes: they just update their own Web sites and Castle's database will track the changes automatically.

The 32-bit software database lists IYONIX-compatible software and is updated by RISC OS developers   IYONIX-compatible software listed at the Web site

The private developer Web site was made public on www.iyonix.com/32bit to enable programmers to write software for the IYONIX pc. As well as explaining how to make programs 26-bit/32-bit neutral, it describes many of the new features in RISC OS 5.

The future

The early RISC OS 5.00 operating system that shipped with the first batch of machines had a few problems, which have now been fixed in the latest ROM and disc image updates which can be downloaded using the automatic update manager utility.

The next RISC OS update is expected to include UDMA (Ultra Direct Memory Access) hard disc support. Early tests using real-life filing system operations have achieved 15Mb/s for write operations and 25Mb/s for read operations. The actual data transfer rate when reading contiguous blocks is higher, but real-life filing system operations will invariably need to access files that are scattered across the disc surface. The fastest hard disc that has been tried so far has achieved a raw transfer rate of 55Mb/s using ADFS_IDEUserOp, and it is the disc drive rather than the IYONIX pc's disc interface that is the limiting factor.

New keyboard labelling is planned for the next batch of machines, to encourage developers and users to use function keys for standard purposes (for example, <F3> will be labelled SAVE). Future enhancements to RISC OS 5 are also planned, but Castle is keeping tight-lipped about the details.

Watch this space...


Trademarks
IYONIX and the IYONIX logo are trademarks of Castle Technology Ltd
Intel and XScale are trademarks of Intel Corp.
ARM and Thumb are trademarks of ARM Ltd