Skip to content

Releases: lauris-nl/doom550d

Doom 550D v0.4.1

Choose a tag to compare

@lauris-nl lauris-nl released this 18 Jul 23:03

Doom 550D v0.4.1

This stability release targets the Canon EOS 550D / Rebel T2i / Kiss X4 with
Canon firmware 1.0.9 and Magic Lantern 550D.109.

Changes

  • Added versioned, WAD-fingerprinted savegames with defensive validation.
  • Damaged and mismatched saves are rejected safely instead of being partially
    applied.
  • Legacy v0.4 saves remain readable; incompatible Doom II weapon state in Doom
    1 is repaired automatically.
  • IDFA and IDKFA no longer grant weapons unavailable in the active Doom game.
  • Fixed intermittent music dropouts by serializing music state changes against
    the Canon DMA callback.
  • Added music loop and parser-failure diagnostics to the Doom engine log.

No WAD files or other copyrighted game assets are included.

Release binary

doom.mo
SHA-256: 823c5e7ea7ca6d458b145f0a948dba07d9bd4a82e8a0e89ba43487da1ea4dca8

Doom 550D v0.4.0

Choose a tag to compare

@lauris-nl lauris-nl released this 18 Jul 01:51

Doom 550D v0.4.0

This release targets the Canon EOS 550D / Rebel T2i / Kiss X4 with Canon
firmware 1.0.9 and Magic Lantern 550D.109.

Changes

  • Added secret cheat menu.

No WAD files or other copyrighted game assets are included.

Release binary

doom.mo
SHA-256: c0ebf48a3496b962cea3da12f3911d80b0a4b72bee5fedc6cda88ebfede4f8da

Doom 550D v0.3.2

Choose a tag to compare

@lauris-nl lauris-nl released this 17 Jul 21:13

Doom 550D v0.3.2

This release targets the Canon EOS 550D / Rebel T2i / Kiss X4 with Canon
firmware 1.0.9 and Magic Lantern 550D.109.

Changes

  • Add an "extra unofficial fullscreen" Screen Size setting with 360x240
    gameplay presented at 720x480 in exact 2x2 pixels.

Menus, the automap and other non-gameplay screens retain Doom's classic
320x200 layout. No WAD files or other copyrighted game assets are included.

Release binary

doom.mo
SHA-256: e2d3bb8f6c162052eabed6ac298959d83fdc983a1374870b9d323d048a375ec8

Doom 550D v0.3.1 — Added debug option to ML's game menu

Choose a tag to compare

@lauris-nl lauris-nl released this 17 Jul 00:09

Doom 550D v0.3.1

This release targets the Canon EOS 550D with firmware 1.0.9 and retains the
playable game, input, save and audio behavior from v0.3.0.

Added debug option to ML's game menu

  • Enable or disable Doom debug logging from Games > Doom > Debug logging.
  • Keep logging disabled by default for normal play and enable it before
    reproducing a problem.
  • Persist the selected logging state in Magic Lantern's module configuration.
  • Remove ML/LOGS/DOOM*.LOG safely with Games > Doom > Clear Doom logs.
  • Refuse log deletion while Doom is active.
  • Leave WADs, savegames and Doom configuration untouched when clearing logs.

Highlights

  • Play MUS music through a richer 24-voice, 24 kHz low-CPU synthesizer.
  • Mix music and Doom's original 8-bit effects into the 48 kHz camera output.
  • Use independent in-game music and sound-effect volume controls.
  • Hold zoom in (+) to run.
  • Hold zoom out (-) while pressing left/right to strafe.
  • Save directly with SET while retaining separate saves for every IWAD.

Stability and input fixes

  • Validate WAD cache ownership after loading saves, avoiding stale cache
    pointers and the Z_ChangeTag: block without a ZONEID module crash.
  • Reset queued camera input after a successful save, preventing controls from
    becoming stuck while music continues.
  • Intercept Delete/Trash as Doom Escape so it cannot open a hidden Magic
    Lantern menu over the game.
  • Avoid ISO, depth-of-field and shutter controls because Canon can process
    them before the module and display EOS overlays or steal input.
  • Preserve display, palette, input and audio cleanup across repeated runs.
  • Retain the commercial MAP01 intermission-name bounds fix.

Music backend

The synthesizer supports 24 voices, multiple inexpensive waveforms, General
MIDI instrument families, percussion, envelopes, channel volume and pitch
bend. It is designed to provide an AdLib-like retro sound without the CPU cost
that made the earlier cycle-level OPL2 experiments unstable on the 550D. It is
not cycle-accurate OPL2 emulation.

When debug logging is enabled, audio timing is recorded in
ML/LOGS/DOOM550D.LOG. The tested game build reported no missed audio
deadlines during successful gameplay sessions.

Installation and compatibility

  • Target: Canon EOS 550D / Rebel T2i / Kiss X4, firmware 1.0.9 only.
  • Install as ML/MODULES/doom.mo.
  • Use a matching Magic Lantern autoexec.bin and 550D_109.sym.
  • Copy legally obtained Doom-compatible IWADs to ML/DOOM/.
  • Restart the camera after changing the selected WAD.

The required Canon audio stubs are already present in the documented Magic
Lantern base commit; no Doom-specific core modification is required. An older
Magic Lantern build must be replaced or rebuilt if its symbol file does not
export the audio functions listed in the README.

No WAD files or other copyrighted game assets are included.

Known limitations

  • The selector checks .wad plus the IWAD header but does not yet fully
    reject non-Doom games.
  • PWAD/mod loading is not implemented.
  • WAD switching requires a camera restart.
  • At most 32 IWADs are listed.
  • Multiplayer is not supported.
  • When enabled, logs retain only the most recent run.

Release binary

doom.mo
SHA-256: d7cc379bbd21968ba72bf9359bb03cc1f473904035547229cc217b1f920f56f7

Doom 550D v0.3.0

Choose a tag to compare

@lauris-nl lauris-nl released this 16 Jul 17:44

Doom 550D v0.3.0

This release was physically tested on a Canon EOS 550D with firmware 1.0.9.
It is the best playable build tested so far, with fluid gameplay, working
effects and stable low-CPU music.

Highlights

  • Play MUS music through a richer 24-voice, 24 kHz low-CPU synthesizer.
  • Mix music and Doom's original 8-bit effects into the 48 kHz camera output.
  • Use independent in-game music and sound-effect volume controls.
  • Hold zoom in (+) to run.
  • Hold zoom out (-) while pressing left/right to strafe.
  • Save directly with SET while retaining separate saves for every IWAD.

Stability and input fixes

  • Validate WAD cache ownership after loading saves, avoiding stale cache
    pointers and the Z_ChangeTag: block without a ZONEID module crash.
  • Reset queued camera input after a successful save, preventing controls from
    becoming stuck while music continues.
  • Intercept Delete/Trash as Doom Escape so it cannot open a hidden Magic
    Lantern menu over the game.
  • Avoid ISO, depth-of-field and shutter controls because Canon can process
    them before the module and display EOS overlays or steal input.
  • Preserve display, palette, input and audio cleanup across repeated runs.
  • Retain the commercial MAP01 intermission-name bounds fix.

Music backend

The synthesizer supports 24 voices, multiple inexpensive waveforms, General
MIDI instrument families, percussion, envelopes, channel volume and pitch
bend. It is designed to provide an AdLib-like retro sound without the CPU cost
that made the earlier cycle-level OPL2 experiments unstable on the 550D. It is
not cycle-accurate OPL2 emulation.

Audio timing is recorded in ML/LOGS/DOOM550D.LOG. The tested build reported
no missed audio deadlines during successful gameplay sessions.

Installation and compatibility

  • Target: Canon EOS 550D / Rebel T2i / Kiss X4, firmware 1.0.9 only.
  • Install as ML/MODULES/doom.mo.
  • Use a matching Magic Lantern autoexec.bin and 550D_109.sym.
  • Copy legally obtained Doom-compatible IWADs to ML/DOOM/.
  • Restart the camera after changing the selected WAD.

The required Canon audio stubs are already present in the documented Magic
Lantern base commit; no Doom-specific core modification is required. An older
Magic Lantern build must be replaced or rebuilt if its symbol file does not
export the audio functions listed in the README.

No WAD files or other copyrighted game assets are included.

Known limitations

  • The selector checks .wad plus the IWAD header but does not yet fully
    reject non-Doom games.
  • PWAD/mod loading is not implemented.
  • WAD switching requires a camera restart.
  • At most 32 IWADs are listed.
  • Multiplayer is not supported.
  • Logs retain only the most recent run.

Release binary

doom.mo
SHA-256: 1030f91aac3a622b4bfb86f9fe9244e1c28a730da7585f58d2a0e0113c50fc29

Doom 550D v0.2.0 beta 1

Pre-release

Choose a tag to compare

@lauris-nl lauris-nl released this 16 Jul 05:35

Doom 550D v0.2.0-beta.1

This beta was tested on a Canon EOS 550D with firmware 1.0.9. The installed
doom.mo was marked very good after physical-camera testing.

Highlights

  • Select up to 32 Doom-family IWADs from the Magic Lantern Games menu.
  • Keep savegames strictly separated for every WAD filename.
  • Persist Doom menu, music-volume, and sound-effect settings.
  • Play MUS music and mix it with Doom sound effects through the camera speaker.
  • Restore Magic Lantern input, display, palette, and audio state on exit.

Important fixes

  • Canon file reads are split into chunks accepted by Magic Lantern FIO.
  • Save paths use short hashed names and are checked before the game starts.
  • Virtual camera-control codes 160-163 now survive saving and reloading, fixing
    SET/fire, PLAY/use, and both strafe controls after a camera restart.
  • WAD changes within one camera session are blocked to prevent mixed engine
    state and memory corruption.

Installation and compatibility

  • Target: Canon EOS 550D / Rebel T2i / Kiss X4, firmware 1.0.9 only.
  • Install as ML/MODULES/doom.mo.
  • Use a matching Magic Lantern autoexec.bin and 550D_109.sym.
  • Copy legally obtained Doom-compatible IWADs to ML/DOOM/.
  • Restart the camera after changing the selected WAD.

The required Canon audio stubs are already present in the documented Magic
Lantern base commit; no Doom-specific core modification is required. An older
Magic Lantern build must be replaced or rebuilt if its symbol file does not
export the audio functions listed in the README.

No WAD files or other copyrighted game assets are included.

Known limitations

  • The selector checks .wad plus the IWAD header but does not yet fully
    reject non-Doom games.
  • PWAD/mod loading is not implemented.
  • Music currently uses a low-CPU square-wave synthesizer.
  • WAD switching requires a camera restart.
  • Multiplayer is not supported.
  • Logs retain only the most recent run.

Release binary

doom.mo
SHA-256: a8c32cdf85231079f0ee7ad3ccbcb065792483ae9759c911640526c3d77446b8