Wiki

Clone wiki

BadMooD / Home

BadMooD: Doom for Atari Falcon030

This is the main wiki page for BadMooD

Supported Systems

  • 16MHz Atari Falcon030 with 14MB STRam
  • CT60 68060 @ 66MHz + TTRam (4 or 14MB STRam)
  • Hatari 2.x emulator

(builds for other Falcon configurations are being prepared - this list will be updated as they become available)

Requirements

  • The correct WAD file from iD Software's Ultimate Doom v1.9 (details below)
  • 60MB of free disk on Falcon's spinny disk / cflash / microsd
  • Any reliable method to get large files onto the Falcon
  • VGA or RGB monitor
  • Ideally a mouse, since the game supports mouselook/freelook aim control

BadMooD does not require write-access to disk, providing all data is prepared and copied to the machine in advance.

BadMooD can however build its own game data from alternate WAD files, in which case it will require write access to do so before the game will run. Any new game data gets generated to a cache directory specific to a given pattern of WADs: BADMOOD/BMC/<datadir>

Setup

  • Grab the v1.02 binary distribution .zip from here
  • Unzip the archive to the Falcon's drive e.g. C:/BADMOOD
  • Locate Doom IWAD file (DOOM.WAD) from Ultimate Doom v1.9 (12,408,292 bytes exactly)
  • Renamed it to DOOMU.WAD
  • Add it to the BADMOOD/ directory, as follows:
 BADMOOD/
  BMC/
  HD/
  BM030.TTP
  DEFAULT.CFG
  BMT101U.WAD
  SHPPADDB
  SHPPQUAN
  SHPPSUBB
  DOOMU.WAD @ 12,408,292 bytes exactly!

BadMooD will not run at all without the commercial game WAD (referred to as IWAD)

Binaries

There are several binaries available targeting different system configs. The project is aimed primarily at 16MHz base machine with 32MHz DSP & 14MB RAM.

Some 'bare metal' coding is used to get best performance on the primary config. Many of the optimizations are not runtime-configurable so different binaries are required for other systems.

  • BM030.TTP:

    • built for base 16MHz 68030 system + 14MB STRam
    • minimal DSP-CPU handshaking
    • uses PMMU memory mirroring tricks
    • uses TimerB/Videl screen split for SB
    • uses 030 cache optimizations
  • BMHAT.TTP:

    • Hatari-safe version: tweaked version of BM030
    • avoids PMMU
    • avoids TimerB/Videl screen splits
  • BM03X.TTP: (TODO)

    • built for 32MHz+ 68030s with potentially onboard TTRAM (Centurbo/DBF1)
    • as BM030 with some additional DSP-CPU handshaking
  • BM0X0.TTP:

    • built for AB40/CT6x super Falcons
    • moderate DSP-CPU handshaking
    • avoids DSP pixel shaders for speed (uses CPU) but disables realtime liquid effects
    • avoids TimerB/Videl screen splits
    • avoids 030 PMMU
    • avoids 030 cache optimizations, uses 040/60 cpush op for cache flushes
    • avoids most unimplemented/emulated 68060 integer ops (uses FPU)

Note: BM0X0 does not yet completely avoid unimplemented 060 integer ops from BMEngine but future updates will convert the remaining cases. It just takes a bit of time & testing.

  • BM03L.TTP: (TODO)
    • built for 4MB Falcons (minimum available spec)
    • disables enhanced content
    • disables software music replay (MIDI output remains)
    • disables some LUT-intensive pixel shaders (not all)
    • audio parameters fixed for low memory
    • sound samples paged from disk to release memory

Other notes:

The earlier v0.37 release of BadMooD baked any enhanced audio settings into the builds. This has been changed from v1.01 onwards so all audio settings are runtime-configurable via the .cfg file. This means different builds are now issued for system compatibility only.

Launching the game

Just double-click the TTP! Alternatively you can renamed the TTP to PRG and launch it from an AUTO folder. The game will run comfortably with 10-12MB free RAM.

If the BMC/ cache is stale, missing or the WAD is incorrect the game will not launch normally and will begin to convert the WAD to native formats. See Notes on the BMC/ cache below.

IMPORTANT: Enhanced Content

BadMooD provides its own enhanced content but it will only function with the correct Doom WAD as described above, and only when the file is correctly named. It is possible to use other WADs from e.g. Doom2 but in this case the enhanced content will be disabled.

The filesize for the required UD 1.9 WAD is exactly 12,408,292 bytes. If you try to load DOOM2.WAD or any other WAD, you will get a Vanilla version (or an error - Shareware Doom is missing the TEXTURE2 lump and won't load currently).

Notes on the BMC/ cache

If you see a long sequence of converting [???]: messages on startup, it means the WAD has not been recognised and the game is trying to build a new WAD cache directory BMC/<datadir> for some other Doom version. Alternatively it could mean the pre-bundled BMC/ directory is missing and the game is trying to regenerate it.

Tip: Some users may find it less trouble to let the game build a BMC/ cache from scratch on the Falcon itself than to copy the pre-bundled BMC/ folder across. There are many files inside but all can be remade from the WAD. Deleting/omitting the BMC/ directory will cause it to be regenerated. However taking this route could obfuscate the possibility that you are running the wrong WAD!

Regenerating the BMC/ cache is a slow process involving texture mipping/conversion/quantisation and can take many minutes so be warned!

A prebuilt BMC/ cache is not enough to run the game. Leveldata and other important content is loaded directly from the WAD and it must be present.

Index

Updated