A Beginners Guide to Atari Emulation
In order to read this article, it is expected that you have foundational knowledge of Atari computers and software as well as the advantages of having an Atari computer so that you can make your own comparisons. Without this experience, this article may or may not make sense to you. I take no responsibility if your brain were to happen to explode.
There is, much to our advtange, a substantial amount of choices of when it comes to emulation of the TOS platform, but before choosing or experiementing in this platform, it's important to understand the benefits and limitations that surround each particular type of emulator. It's also important to understand what an emulator is or isn't. The unfortunate truth is that an emulator cannot be an end-all cure to life's problems. With additional features provided by the host operating system brings increasing levels of incompatibility. More or less you are on a feature/compatibility balance beam.
An emulator, at least according to my definition providees an exact software replica of a particular machine. Others may contest and say that an emulator is simply something that emulates the raw processor. In our particular case, a full and correct emulation is rather difficult, and has only been done up to the Ste, and there is a Falcon emulator in progress but considering the apparent complexity of the DSP, it will have to be an add-in PCI card. The add in PCI card references will be equipped with a DSP that is far faster than the DSP built into the Falcon.
More or less I have decided in my mind that there are three different specific types of emulators. I will begin to describe each of them and also illustrate the benefits and disadvantages to using each type.
1. The full emulator.
Great examples of full emulators would be StoNX and steem for the ST and STE respectively. What I mean by full emulator is that these pieces of software emulate every aspect of the computer directly. Leading to no significant performance advantages (depending on how fast the host machine is) or feature advtanges in the guest operating system (TOS). The type of emulator this creates is one that is completely and absolutely compatible with pretty much any and all low level pieces of software, like games and demos. Unfortunately with this emulator comes the lack of ability to use the higher resolutions and color depths that the host video equipment may provide. It also lacks the ability to use host networking or other features directly. It is an exact copy, so every limitation of the machine you are emulating is present in the emulator itself. The advtange? Pure, unbridled compatiblity.
Another emulator which fits in this category mostly is the recent FalcEMU. FalcEMU is a complete falcon emulator. Except in this case it has no DSP emulation due to the apparently complexity or poor emulation speed of a DSP. In this particular case they plan to offer or to use a plug-in PCI DSP card used by the host PC. They hope to gain full compatibility out of this higher speed DSP card, but it is certainly something that remains to be seen.
2. Primary emulation.
Primary emulation is a little term I deem emulators like... well.. Aranym. Aranym is a very intriguing emulator, in that it's sole purpose is to be a better emulator for power users. While remaining compatible enough to run TOS extensions like MiNT and a full MiNT setup, certain features are addable, including host networking. I.e. Your mint network is magically connected to the internet through your host operating system (windows or linux)'s network connection. Giving your Atari under emulation a hyper-fast internet connection. This is still considered emulation in the end due to the fact that it has to emulate the 680x0 line of processors used to run TOS and ST software. In my personal opinion and for my personal uses, Aranym happens to be the best choice of emulators since things like network connectivity and functionality while retaining enough compatiblity to run things like MiNT is important to me. On the same token it runs under Linux which is great considering I avoid Windows pretty much at all costs. Also existing for this emulator are MiNT device drivers that allow you to access the host filesystem using a very compatible and supported guest method, excellent.
3. Operating Environment
The third type of emulator is what I will affectionately call an "operating environment." In all reality, the only pieces of software that exist like this are MagiCMac and MagiCPC. To understand why I don this term to MagiCMac and MagicPC is fairly simple. Older Macintosh computers happen to have the same processor as Atari's did. In fact a lot of the hardware and design was remarkably similar. MagiCMac is an implementation of MagiC for the mac. Meaning there is no processor emulation. Whatever speed mac you have is the effective atari speed you have. Meaning you can achieve some pretty wild performance through use of MagiCMac. Also this is hardly an emulation due to certain "enhancements" available. An example of this would be MacTCP connectivity for iConnect. What this means is that MagiCMac's internet connection can pull directly from the host operating system for all internet applications that happen to support iConnect... Pretty slick if you ask me. There's also a utility called Magxsound which provides all of the XBIOS sound routines available on the falcon. What this means is that a large base of Falcon audio applications that do not use or do not require the DSP will work just fine on it. But what else? MagiCMac and MagiCPC are limited graphically by the host video hardware. This means if you wanted 1280x1024 at 36 bit true color, it's yours. MagiCMac is hardly an emulator, it's sort of the same effect as compiling linux for running on your PC or your PPC. MagiCPC is a bit different, in that it does have to emulate the 68K processors in addition to the other tasks. The method of using host networking with iConnect is non-existent making the Mac a preferred platform for all MagiC/emulation users. MagiCPC can also be painfully slow due to emulation being inherently slow and imperfect. Honestly though, on an Athalon 1.2GHz, if you aren't picky, you'd never notice. The last problem with MagiCPC is that it emulates a 68000 processor rather than a 680x0 processor meaning that all of your 030 specific applications are automatically guaranteed not to work. It's noticeable that MagiCMac is definitely the far more logical choice in this instance. If you don't have a Mac, go pick up a Mac Quadra 800 for sub $100 price range and you instantly have a cheap, super-fast atari computer that achieves reasonably high compatibility with a falcon minus the DSP (painful). One additional point to remember. MagiCPC and MagiCMac, because they tend to just be operating environments are each capable of reading their respective host filesystems. A prospect which during using emulators you will notice becomes increasingly important. Without this, the only way to transfer software to the emulator side is through a hard drive transfer (the hard drive is readable by the guest operating system), creation of disk images or copying software to floppy disks, or to do a simulated serial transfer to the emulator. All in all any of these methods can be quite a pain and you'll find that the ability to read the host file system and create a virtual drive "folder" is extremely convenient. Steem happens to support doing this as well, even though it is an extremely "compatible" emulator... Kudos.
Now after reading these three descriptions you may begin to realize that only StoNX and steem are "emulators" according to my definition. What I would term any of the other pieces of software, I do not know. They perform processor emulation but at the same time they are not exact replicas. The choice of emulation is one that is specifically suited to personal tastes. In fact none of these emulators are of "poor" quality in any respect. They do exactly what they were designed to do, extremely well. The decision remains yours and I hope this guide gives you a further understanding of what you would expect to find in each project.
Application Systems Heidelberg:
Aranym Sourceforge Project page