Software:UAE (emulator)

From HandWiki
Short description: Computer emulator which emulates Commodore International's Amiga.
UAE
E-UAE.png
E-UAE 0.8.27 configuration and control panel
Developer(s)
  • Bernd Schmidt (UAE)
  • Toni Wilen (WinUAE, originally Mathias Ortmann)
  • Richard Drummond (E-UAE)
  • Mustafa 'GnoStiC' TUFAN (PUAE)
  • Frode Solheim (FS-UAE)
  • Rupert Hausberger (SAE)
Initial release1995; 29 years ago (1995)
Stable release
4.10.1 (WinUAE) / 21 January 2023; 12 months ago (2023-01-21)
Written inC++ and ASM
Operating systemWindows, macOS, Linux, Android, FreeBSD, NetBSD, OpenBSD, AmigaOS
TypeEmulator
LicenseGNU General Public License
Websitewww.winuae.net

UAE is a computer emulator which emulates the hardware of Commodore International's Amiga range of computers. Released under the GNU General Public License, UAE is free software.

History

Bernd Schmidt conceived of an emulator that can run Amiga software when he found that such a task was widely believed to be impossible. Schmidt had written previous programs for Amiga, and was further motivated by the desire to not lose games, demos, and sound modules to switching operating systems.[1] UAE was released in 1995 and was originally called the Unusable Amiga Emulator, due to its inability to boot.[2][3][4] In its early stages, it was known as Unix Amiga Emulator and later with other names as well. Today, what the name of the software product, stands for today, is the Universal Amiga Emulator.[5]

Features

UAE is almost a full-featured Amiga emulator. It emulates most of its functions:

  • Original Chip Set (OCS), Enhanced Chip Set (ECS) and Advanced Graphics Architecture (AGA)[6]
  • I/O devices: (floppy disk drives, joystick, mouse and serial ports)
  • Processor: Motorola 68000/010/020/040 CPU, optionally a 68881 FPU,[6][7] and as of WinUAE 3.0.0 beta 15, an enhanced PowerPC JIT core using the QEMU CPU libraries.[8]
  • Memory: 2 MB Chip RAM and 8 MB Fast RAM, or 8 MB Chip RAM without Fast RAM. 64 MB Zorro III Fast RAM, independent of Chip RAM setting (68020+ only). 1 MB Slow RAM, for compatibility.[6]
  • Picasso 96 graphics with 8 MB of memory[6][7]
  • Serial port, and Simple parallel port is only sufficient for printing.[6]
  • Networking via bsdsocket.library emulation[9][10]

For software, UAE may use disk images made from original Amiga floppy disks. These images have the file extension of "ADF" (Amiga Disk File). Actual Amiga disks cannot be used, because of limitations in the floppy controllers used in other computers.[11] Images of Amiga formatted hard drives can also be made. UAE also supports mapping host operating system's directories to Amiga hard drives, and finally, physical Amiga formatted hard drives can be mounted.

UAE does not include the original Amiga operating system ROM and files, which are required for running an Amiga system. These are included under license in packages like Amiga Forever. Original Kickstart 3.1 ROM images are also included with AmigaOS4 for PowerPC since version 4.1 Update 4. UAE also supports alternative system ROMs, such as those derived from the AROS project, however these do not provide the same degree of software compatibility as the original ROMs.

Portability

UAE has been ported to many host operating systems, including Linux, macOS, FreeBSD, DOS, Microsoft Windows, RISC OS, BeOS, Palm OS, Android, the Xbox console, the PSP, PSVita and GP2X handhelds, iOS, the Wii and Dreamcast consoles, and even to AmigaOS, MorphOS and AROS.

Emulation speed

There have been many threads in the past on Usenet and other public forums where people argued about the possibility of writing an Amiga emulator. Some considered UAE to be attempting the impossible; to be demanding that a system read, process and output 100 MB/s of data when the fastest PC was a 66 MHz 486, while keeping various emulated chips (the Amiga chipset) all in sync and appearing as they were supposed to appear to software.

UAE was almost entirely unusable in its first releases, but slowly and step by step, it fleshed out its support of the Amiga chipset and by the end of 1997 was able to emulate an Amiga 500 at a quality and speed that were sufficient for productivity use and for many games.

Since then, UAE has been usable, thanks partly to the effort taken to develop it and partly to the big improvements in technology that brought computers many times faster than those UAE was initially running on. Many Amiga games and applications can run smoothly on a Pentium II-era system. The realization that a useful Amiga emulator could be written contributed to an increase in enthusiasm about emulation, which started or sped-up efforts to write emulators for other and often less popular computer and electronic game architectures[citation needed].

A major improvement was made in 2000 by Bernd Meyer with the use of Just-in-time compilation,[2] which significantly improved the emulation speed, to the extent that average PCs could now emulate some Amiga software faster than any real Amiga could run it. UAE can use as much of the host's power in native mode as possible, or balance it with other requirements of the host OS, or to accurately reflect the original speed, depending on a user's choice. UAE also provides an RTG-compatible "video card" for the Amiga side of the emulation which is tailored for display on the host hardware, so as not to be limited to the emulation of the original Amiga video hardware.


Project development

There are six main forks of the original program:

  • WinUAE, designed to run on Windows, ported by Mathias Ortmann[12] and currently developed by Toni Wilen[13]
  • PUAE, designed to run on Unix platforms (continuation of the abandoned E-UAE and also a port of WinUAE)
  • FS-UAE, designed to run on Windows, macOS and Linux (a port of WinUAE with a focus on emulating games, featuring a new on-screen GUI and cross-platform online play)
  • UAE4all, a stripped and optimized version, designed to emulate an OCS Amiga on low-end devices. UAE4all2 add AGA and hard disk support.
  • Scripted Amiga Emulator (SAE), designed to run in a modern browser using JavaScript and HTML5. It is also based on WinUAE and was released on 1. September 2012 by Rupert Hausberger.[14][15] SAE needs a very fast computer to run on.[16]
  • UAE4ARM, designed to run on ARM devices including the Raspberry Pi.[17] It's the only fork supporting Just-In-Time on ARM devices. Others supported platforms are Pandora, Android and libretro.

The most active fork is WinUAE; current versions of this still contain bugs and compatibility issues.

Specific versions: UAE v0.8.29 2008-11-30,[18][19] FS-UAE v3.1.66 [20] E-UAE v0.8.29 2007-03-28[21]

See also

  • Amiga Forever, Amiga emulator
  • Basilisk II, Apple Macintosh emulator which uses UAE to emulate the 68k processor
  • Hatari, Atari ST/STe/TT/Falcon computer series emulator which uses UAE for the core m68k emulation
  • Previous, NeXT computer emulator, derived from Hatari
  • Fellow, another Amiga emulator which was released not too long after the first usable versions of UAE, and generated competition beneficial to both projects.
  • POSE, Palm OS emulator that is based on Copilot, which in turn was based on UAE's m68k emulation
  • TiEmu, Texas Instruments calculator emulator, which uses UAE for the core m68k emulation

References

  1. Taylor, David (Christmas 1996). "Mission: Impossible?". Amiga Shopper (Future Publishing) (70): 14. https://archive.org/details/Amiga_Shopper_Issue_70_1996_Future_Publishing_GB_christmas_edition/page/n13. Retrieved 2022-05-15. 
  2. 2.0 2.1 "UAE- Ultimate Amiga Emulator". Amiga history guide. 2002. http://www.amigau.com/aig/emulators/uae.html. 
  3. Goodwin, Simon (October 1996). "Emulation: The sincerest form of flattery". Amiga Format (89): 21. https://archive.org/details/AmigaFormatMagazine_201902/Amiga_Format_Issue_089_1996_10_Future_Publishing_GB/page/n20. Retrieved 2022-05-15. 
  4. Goodwin, Simon (March 1998). "The Amiga Emulator". Amiga Format (108): 21. https://archive.org/details/AmigaFormatMagazine_201902/Amiga_Format_Issue_108_1998_03_Future_Publishing_GB/page/n20. Retrieved 2022-05-15. 
  5. Laing, Gordon (August 2000). "Past masters". Personal Computer World 23 (8): 144. https://archive.org/details/PersonalComputerWorldMagazine/PCW%20200008%20August%20Created%20From%20PCW%20Cover%20CD/page/n68. Retrieved 2022-05-15. 
  6. 6.0 6.1 6.2 6.3 6.4 "UAE Amiga Emulator". https://amiga.technology/uae/. 
  7. 7.0 7.1 Compton, Jason (October 1999). "Active reviews – Amiga Forever 3". Amiga Active (1): 38. https://archive.org/details/AmigActive_Issue_01_1999-10_Pinprint_GB/page/n19. Retrieved 2022-05-15. 
  8. "WinUAE 3.0.0 Beta 16 Changelog". https://github.com/tonioni/WinUAE/commit/3e88892aadfc65919c7e34b7f99225e1cacadb91. 
  9. "uae-0.8.29.tar.gz: uae-0.8.29/src/bsdsocket.c | Fossies Archive". fossies.org. http://fossies.org/linux/misc/uae-0.8.29.tar.gz:a/uae-0.8.29/src/bsdsocket.c. 
  10. "bsdsocket.txt - uae-wii - A port of the UNIX Amiga Emulator to Nintendo Wii - Google Project Hosting". https://code.google.com/p/uae-wii/source/browse/trunk/docs/bsdsocket.txt?r=2&spec=svn3. 
  11. Chandler, John (1999). "UAE - The Amiga Emulator". Suite101. p. 2. //www.suite101.com/article.cfm/amiga/25486/2. 
  12. Bütikofer, Christian (2012-01-20). "Raubkopien: Die Spur von Megaupload.com führt nach Zug" (in de). Handelszeitung. https://www.handelszeitung.ch/unternehmen/technologie/raubkopien-die-spur-von-megauploadcom-fuehrt-nach-zug. 
  13. Maher, Jimmy (2018). The Future Was Here: The Commodore Amiga. MIT Press. p. xii. ISBN 978-0-262-01720-6. https://books.google.com/books?id=Gr74DwAAQBAJ&pg=PP13. Retrieved 2022-05-15. 
  14. "Scripted Amiga Emulator". 24 October 2021. https://github.com/naTmeg/ScriptedAmigaEmulator. 
  15. http://scriptedamigaemulator.net/ Scripted AMIGA Emulator
  16. http://scriptedamigaemulator.net/readme.htm Scripted AMIGA Emulator in JavaScript
  17. Chiappetta, Marco (2017-07-14). "Build A Killer Amiga Emulator For Under $100 With The Raspberry Pi 3" (in en-us). https://hothardware.com/reviews/amiga-emulator-with-raspberry-pi-3. 
  18. "Prevention Archives". http://www.amigaemulator.org/files/sources/develop/. 
  19. https://web.archive.org/web/20120915212826/http://www.amigaemulator.org/files/sources/develop/uae-0.8.29.tar.bz2 2016-03-19
  20. https://fs-uae.net/download#linux 2019-11-05
  21. https://www.rcdrummond.net/uae/index.html https://www.rcdrummond.net/uae/e-uae-0.8.29-WIP4/e-uae-0.8.29-WIP4.tar.bz2 2016-03-19

External links