Amiga Forever by Cloanto
 
Home Products
 
 
TITLE

Amiga Emulation Software: Integration vs. Isolation and Amiga Forever vs. Other Packages

 

TOPIC

In response to statements released by third parties in 2001, Cloanto released this study of different approaches to Amiga emulation, including a competitive analysis of the software included in Amiga Forever vs. other software. While Amiga Forever was designed to integrate with the host environment, to exploit its drivers and to multitask with non-Amiga applications, it is the opinion of Cloanto that other solutions suffer from isolation due to lack of drivers to support new and diverse hardware, due to lack of support for the original Amiga custom chips, and due to complete separation from other operating systems and applications, which, unlike in Amiga Forever, are not accessible while the Amiga is running.

 

DISCUSSION

Ever since the early planning stages of Amiga Forever a high priority was placed on supporting the co-existence of Amiga software and data and a different environment, especially Windows, which emerged as the most popular second platform accessed by Amiga users. This is why already from its first version Amiga Forever included software such as Amiga Explorer to connect an Amiga and a PC, AmiToRTF to convert texts from Amiga to Windows formats, MailBX to convert Amiga mail archives to other formats, and a DOS file system for Amiga computers (which until version 2.1 of the Amiga operating system did not include one). Further research made it possible to keep delivering what used to be considered impossible, e.g. to install Amiga Explorer and the PC file system from the PC to the Amiga over the serial cable (without further software on the Amiga side, other than a boot disk) and to include, in Amiga Forever 5.0, an experimental version of the Disk2FDI software, which made it possible to read Amiga disks on the PC. In short, Amiga Forever has always been a tool for integration, in which even the Amiga emulation environment was meant to co-exist as much as possible with the host environment, running at the same time, sharing data, and exploiting its drivers, file system and TCP/IP connectivity. Even when the emulation is running in full screen mode, apparently taking over the entire machine, it is always possible to switch from one operating system to the other in less than a second.

True, an Amiga which uses the drivers of another operating system to access the hardware cannot qualify, by the strictest standards set by those who belong to the Amiga community since the beginning, to be as "pure" as the original. However we like to consider emulation a kind of magic in itself, and we are reminded of this each time we see the Workbench 1.3 boot sequence on a super-thin notebook, for example. Sure, while we would not be able to distinguish the emulated Amiga from a "real" one, given a "no logo" monitor, keyboard and mouse, we certainly miss every click, and even the smell, of that 1985 keyboard, the unforgettable sound of the first hard disks spinning up, even the black scan lines which we could still see after closing our eyes. And of course we wish that the innocence, the curiosity, the freshness, the dreams and the idealism of those days be with us forever. To us the Amiga is also a symbol of these feelings. No new computer, not even the emulation, even if it legally qualifies as an Amiga, can replace what we feel when we switch on that old Amiga 1000.

First the Amiga gave us the gift of uncompromising excellence, and then it gave us stability. For years we could keep using the operating system and application software we knew so well, without fear that it would change without our control. However the rest of the computing world did not stand still, and what once seemed so incredibly perfect also brings with it the risk of increasing isolation. So, after all, we want both worlds. The old and the new. What we know so intimately well, and the challenge of the unexplored. And the reassuring knowledge that new hardware and standards will keep being supported by the emulation. And speed, of course. And we want it all in the same box, on the same screen, at the same time, without rebooting. After all, weren't we among the first to learn the true meaning of the word "multitasking"? Do you think this is too much to ask for? We don't. We would not have released version after version of Amiga Forever if we did. And if you still need, for some reason, to boot straight from CD, we even added this feature (without removing the other emulation components, which for example run under Windows) to Amiga Forever.

We believe that the emulated Amiga as it is included in Amiga Forever both comes closest to the original Amiga systems and expands it through integration with a modern host operating system and with the underlying and connected technologies. Amiga Forever makes it possible to not only go back in time on an emotional trip, but it also allows us to preserve 15 years of experience and work, and to put these to good use, interfacing the old and the new, history and future.

From the point of view of performance, it is the opinion of Cloanto that a "less is more" approach to Amiga emulation results in modest speed gains and in huge compatibility problems, both on the Amiga side and on the side of the PC hardware. Amiga Forever always offered an option to switch off audio in order for the emulation to run slightly faster. However, removing custom chip emulation features from an emulation core such as that of UAE, as has been done according to the FAQ of one of the emulation programs discussed here, results in very limited speed benefits when running Amiga software that does not even need the custom chip functionality (in which case the emulation of those components is in good part idle), and implies that software which requires full custom chip functionality (including popular programs such as Deluxe Paint, Brilliance, Scala, Professional Draw, Pixel 3D, Music-X, etc., not to mention demos and games) does not run at all. Since one of the main purposes of emulation, at least according to Cloanto, is to try to run all Amiga software released since 1984 (yes, the Boing demo is that old...), the equation does not seem to add up. Similarly, by stripping down GNU/Linux, which already offers a limited set of hardware drivers compared to Windows and macOS systems, and intentionally moving the requirement for some drivers even closer to the Amiga side, which notoriously always had a problem with drivers, the situation in the opinion of Cloanto can only get worse if Amiga developers have to directly support both PC hardware and increasingly diverse peripherals and specifications (e.g. new chipsets, graphics, security, or digital rights management, which is increasingly interconnected with the hardware).

While it is obvious that by sacrificing compatibility and by ignoring increasingly popular standards and peripherals some performance can be gained, we do not believe that this philosophy is a winning one. We already suffered enough from isolation when we had a perfect operating system but little or no support from hardware manufacturers. We do not need that again, with the added weight of new standards and a much more complex computing world. We don't want another digital camera, scanner, printer, smart card system or music player for which there is no driver. Do you?

While software improvements like just-in-time (JIT) compilation of Amiga code, possibly combined with advanced optimization and predictive logic can improve the performance of an emulated Amiga by tens of times, the results of directly accessing the hardware using "Amiga x86 drivers" are in practice barely noticeable if at all from the point of view of speed, because the bottlenecks in modern PCs and in the Amiga emulation running on them are not at the driver level. But they are certainly measurable when you miss one of the Amiga features that had to be sacrificed, or the lack of a driver which is instead available for another operating system, or the need to just use the Amiga or that other operating system for a minute, and then go back to another application. This is a world in which PCs are designed to quickly suspend or hibernate and then resume to full productivity in seconds, or even switch from one user space to another without terminating running applications, not to reboot only to switch from one program to the other.

We do not mean, by these considerations, to specifically discuss any potential issues in a certain emulation program or the other. These factors (support for PC peripherals, drivers, standards, etc.) are, in our opinion, more general than emulation, and would apply in a similar way to a "real" Amiga running on PC hardware. While we share the belief of other Amiga licensees that the Amiga, given current development resources (which are inferior to those available to the Windows, Mac or GNU/Linux community), would be a great operating system for an embedded appliance or another type of "closed system", when it comes to supporting what is now considered a modern and expandable personal computer and the way it is used, we think that the "Classic" Amiga and its thousands of programs work best hand in hand with another operating system, tapping its thousands of drivers and some other important applications.

Security is another field which is becoming increasingly vital on personal computers, and which adds a layer of complexity (also reducing performance) to every aspect of the operating system, from the kernel, to the file system, to the management of multiple users and their applications and data, etc. The Amiga would probably never have been the simple and elegant system we know if it had to cope with security. However today an operating system without security features seems to be inconceivable even for a hand-held device, requiring a lot of additional development work. To mention a practical example, the footprint of Windows XP Embedded, which starts at less than 5 MB, increases from 14 MB to 25 MB when the security infrastructure is added to the basic Win32 system.

Other trends which affect the way the Amiga is integrated with the host environment include:

  • Increasingly complex software decreases the likelihood that some major future popular applications will be available for the Amiga
  • "Always on" internet experience relies on standards for web browsing, email, instant messaging and online media which are increasing in both number and complexity
  • Users navigate more through the mainstream internet and less by following the personalized advice of their more technical friends
  • Multimedia is pervasive, and users expect their systems to support all media formats (latest Flash, H.264, streaming formats, advanced codecs, proprietary content, peer-to-peer, etc.) as linked on web sites, emails, etc.
  • With the browser itself having become a platform, users seeking diversity often simply choose a different web browser, rather than a different operating system
  • Increasing hard disk capacity and content richness is best approached with file systems such as NTFS (transaction is always complete, no need to check disk for several hours after crash or loss of power) and ReFS (Resilient File System, evolving from NTFS)
  • Pervasive digital rights management (DRM) structure, affecting portable media player devices, software players and storage devices, making them subject to new and complex requirements
  • Advanced Configuration and Power Interface (ACPI) is as useful as it is distributed (e.g. in notebooks, motherboards, CPUs, batteries, etc.) and complex to support
  • New devices need a multitude of new drivers every month, for new chipsets, network standards (IPv6, 802.11a/b/g/n/ax WiFi, GPRS, Bluetooth LE, 100 Gbit Ethernet, G3, 4G, LTE, WiMax, etc.), for security (smart cards, fingerprint readers, NFC, etc.), wiring, interface and storage standards (USB 3.1, SATA 3.2, PCI-X, PCI Express, ExpressCard, AGP 8X, FireWire 800, Thunderbolt, DisplayPort, SSD TRIM, etc.), boot environments (BIOS, EFI, UEFI, etc.), multimedia (4K/3D Blu-ray, TV tuners, etc.), for new input devices, to support new printers, etc.
  • "Intelligent" devices, tending to increase in number and sophistication as they decrease in size, require constantly new and updated driver and management software on the PC side

Specific "best of both worlds" features of Amiga Forever include:

  • Supports all Amiga software by fully emulating custom chips and supporting and including all ROM versions (0.7 to 3.x)
  • High performance provided by JIT compiler and RTG graphics system with native (e.g. x86) code and low-level access to all graphics cards (via DirectX, on Windows)
  • Native code also used for file system, virtual memory, TCP/IP
  • Availability of emulation source code and interface for Amiga applications to use native code 
  • Multitasks with the host environment, allowing uninterrupted use of familiar productivity software and always-on internet connectivity
  • Works in full screen or in windowed mode (but never requires a reboot)
  • Runs from CD-ROM if so desired (without requiring a reboot, only one mouse click required on Windows systems)
  • Can be installed to hard disk, sharing files with the host operating system (Amiga can read PC files, PC can read Amiga files)
  • Supports NTFS, ReFS and other modern file systems, disk partitioning methods and boot managers
  • Works with advanced configuration and power interfaces (e.g. suspend, hibernate, power saving, shutdown on UPS low battery, wake-on-LAN, etc.)
  • Benefits from thousands of past, present and future hardware drivers
  • Transparently inherits support for emerging and future peripherals and specifications

Related Links

 

Article Information
Article ID: 13-149
Platform: All
Products: Amiga Forever
Additional Keywords: None
Last Update: 2013-12-30
Your feedback is always appreciated. It is safe to link to this page.