ADoom

From DoomWiki.org

ADoom
Codebase Linux Doom 1.10
Developer(s) Peter McGavin, Oliver Achten (v1.4)
Initial release 0.0 (1997-12-28, 26 years ago)
Latest release 1.4 (2011-01-08, 13 years ago)
Development status Discontinued
Written in C
Target Platform Amiga
License Doom Source License

ADoom was a early source port of Doom for the Amiga, based around the original Linux Doom source code. It was a significant port for the Amiga, providing the basis of several other ports, as well as being one of the more feature rich ports available that are exclusive to the platform.

It was created by Peter McGavin.

History[edit]

ADoom, like many other ports at the time such as AmiDoom and AmigaDoom, started development by porting the original Linux Doom source code over to Amiga. A first release, 0.0, followed on December 28, 1997. The first few versions centered on getting basic sound and networking support ready as well as stability improvements. With version 0.5, released on January 8, 1998, ADoom gained music support.

The next few were spent on bug fixing, rendering optimization and implementing support for CyberGraphX, so that standard video cards could be used. All these intermediate versions lead to the next milestone, version 1.0, released on February 19, 1998. It introduced DeHackEd support to ADoom, along with support for high resolution modes, inspired by and using code from DOSDoom 0.47. ADoom's rendering routines were rewritten to accommodate for these higher resolution modes.

Version 1.2 saw support for the Graffiti graphics card, allowing more colours on OCS/ECS machines and increased resolutions on AGA based hardware along with several bug fixes. After 1.2, which was released on March 12, 1998, the port's development stalled for almost three years. McGavin released one final version on February 4, 2001 as version 1.3, containing additional bug fixes and the inclusion of increased static limits: MAXVISSPRITES saw an increase from 128 to 256.

Legacy[edit]

After version 1.3, the port remained dormant for a decade, until it was picked up by Oliver Achten in 2011. A new version 1.4 dated January 8, 2011 was released providing support for the Indivision FPGA based flicker fixer, greatly improving rendering performance on ECS machines.

Features[edit]

  • Works with OCS, ECS and AGA
  • Optimized routines for all 68k processors that the Amiga offers (020, 030, 040 and 060)
  • Support for DeHackEd patches
  • Raised static limits: MAXVISSPRITES is increased from 128 to 256
  • High resolution support. Resolutions as high as 1600x1280 are available, providing significant detail but is not applicable due to a lack of processing power
  • A wide variety of display and graphics cards are supported by ADoom. These are:
    • Retargetable Graphics (RTG), allowing standardized resolutions and true colour screens to be available through common SVGA adapters using CyberGraphX
    • Support for Individual Computers Graffiti graphics card. This changes Amiga's graphics from bitplane to chunky pixel, allowing 256 colors on OCS and ECS with 320x256 resolution and 640x256 resolution on AGA machines
    • Support for the Indivision GFX flicker fixer. Introduced in ADoom 1.4, Indivision GFX not only provides 256 colors in ECS mode (As opposed to 64) and resolutions up to 1024x768 but rendering performance greatly increases as the buffers are now offloaded to the FPGA
  • Music and sound support
  • Mouse and joystick support, as well as support for the CD32 joypad and Sega controllers
  • Visible FPS counter
  • Network support through TCP/IP, IPX and serial cable
  • Support for Doom (including The Ultimate Doom re-release) and Doom II
  • Support for the Final Doom episodes The Plutonia Experiment and TNT: Evilution

Requirements[edit]

ADoom requires a Amiga with AmigaOS 3.0+ along with a 020 processor and 6MB of RAM.

Trivia[edit]

  • ADoom 1.0 raised several static limits: MAXVISSPRITES were increased from 128 to 1024, MAXDRAWSEGS from 256 to 1024 and MAXVISPLANES from 128 to 1024. These were reverted with the next release a day later because memory requirements were too high and performance of the engine actually slowed down.

External links[edit]

Source code genealogy
Based on
Linux Doom 1.10
ADoom 1.3 Base for
ADoomPPC
Based on
ADoom 1.3
ADoom 1.4 None