
BadMood is a 'special' version of Doom implemented for the Atari Falcon030 
computer using a standalone engine coupled to Id's original game code. 

It has been made to run as well as possible on the base spec machine @ 16MHz CPU 
and 32MHz DSP processor without compromising look or feel. It requires 14MB RAM
but in future it may be squeezed further to run in 4MB. BadMooD uses truecolour
textures and per-texture palettes as well as a large samplebank for music so it
needs more RAM than the original PC version.

The graphics engine had been created independently from the Doom source code and
uses different methods in some cases to achieve similar results. This does 
affect the look slightly but for the most part any differences are small. 

Several Falcon-specific improvements have been made (see list below).

- truecolour lighting & shading
- special shaders created for liquids, invisibility, some types of transparency
- mipmap filtering for floor and ceiling textures
- support for truecolour texture overloads (using external .bmp files)
- truecolour titles and intermissions
- modified occlusion testing for better scene management
- modified line-of-sight algorithm for better game performance
- modified AI for better game performance
- extensive use of DSP as 3D and graphics co-processor
- custom video resolutions (hardware chunky pixel modes)
- custom midi replay via Falcon030 codec or external midi sound modules
- optional software midi replay mixed with sfx
- some improved sfx (ricochet, chaingun etc.)

The rendering-based limits imposed by the original Doom engine don't apply to 
BadMood but there may be maps which don't work for some other reason. WADs which
use ZDoom/Boom extensions will likely not work in BadMood until those 
extensions are specifically implemented (and there are no plans currently to 
match ZDoom features or addons from any other source port).

The game is based on LinuxDoom1.10 with some modifications cross-ported from 
Chocolate Doom, Boom and other sources in order to address bugs or other 
problems. It should run WAD files which are compatible with LinuxDoom1.10. 

There are still bugs remaining in the original game code so further cross
porting of changes is likely if more issues surface.



Development tools used:

- Devpac3
- gcc4.6.3 cross-mint tools (linux/win)
- vasm
- Suite56 (dsp56000 assembler)
- Hatari emulator/debugger/profiler
- cygwin
- HxC/Lotharek's USB floppy emulator
- Slade3 editor
- DoomBuilder editor
- at least one 'real' Falcon030 ;)
- iptool by Sqward

d.m.l