SMMU

Work on SMMU ceased years ago and it is no longer maintained or developed.
The Eternity Engine is
derived from the SMMU codebase and should be considered its spiritual
successor. This page is an attempt to gather as much relevant data about
SMMU, for historical posterity.

Screenshots and Features

A summary of some of the features of SMMU
is available, including some screenshots. The page was created during SMMU's
development, and all of the "coming soon" features listed were eventually
included.

Older versions

Releases of SMMU were clumsy and irregular, and I don't have a complete
version history in my possession. However, thanks to James Haley (Quasar),
here are some old versions and releases!

SMMU v3.21 (Christmas Day 1999 release). This release served as the primary
base for the Eternity Engine - most features introduced after this version
did not make it into Eternity, although a few select changes from later
versions were incorporated.

SMMU v3.20 ("Millenium" private beta distributed
to testers - December 18th 1999).
This is "the beta with hubs support". I do not have the definitive
source code to this version, though the github repository contains a
backup snapshot with the same date.

If you have any old versions of SMMU in your possession that are not listed
here, please get in contact as I am eager to have as complete a history as
possible.

Version history

In the later stages of the development of SMMU, I adopted CVS as a version
control system to track the source code.
The CVS repository is available for
download. It contains fix-ups that I made in 2001, and also a
fixed version of MBF that I ported to work on later
versions of DJGPP.

I have converted the CVS repository into a Git repository.
The revision history can be browsed
on GitHub. This
repository also incorporates the code from the old versions above, and
some "backup" source code snapshots that I recovered from an old hard
drive. You can follow the change history back all the way to the MBF
source code
- though the changes are quite large and complicated for
the early history before I adopted CVS.

You can also read the development blog that I posted
on my website while I was writing SMMU to get a feel for how the port
developed.

SMMUSERV

As part of the process of rewriting the network engine I developed a master
server for locating games on the Internet. The master server is no longer
running; however, the source code can be downloaded.

Text mode

SMMU includes a feature for rendering the screen in text mode.
There is a separate text mode doom page with
more information, including screenshots.

Name

SMMU stands for "Smack My Marine Up", a reference to the song by
The Prodigy, Smack
My Bitch Up. I originally used the name sfdoom (see below), but
disliked the name and asked various people for suggestions for alternate
names. I credit BrV-Zokum as the source/inspiration
for the name :-)

FraggleScript

SMMU includes the FraggleScript programming language; this was later
incorporated into other source ports (including Doom Legacy and GZDoom).
The code for the interpreter was developed separately and later incorporated
into SMMU;
the source code to the standalone version
can be found in the /idgames archive.

It's probably not a good idea to use FraggleScript nowadays, because other
modern source ports have far more powerful and practical alternatives.
That said, if you really do want to learn about it, here are some resources:

There used to be a page about SMMU by Thomas Sturm with some FraggleScript
information (used to be located
here but that link
is now broken). I don't have any way to contact Thomas nowadays. If you
have a copy of these pages please contact me.

sfdoom

Before writing SMMU, my first excursion into Doom source hacking was writing
the sfdoom port. This was based on Chi Hoang's original DOS port
of the LinuxDoom source code that appeared in the first couple of days after
the source release. sfdoom contained some features that later
appeared in SMMU (coloured lighting, console, start map, basic scripting).
SMMU was intended as a rewrite of sfdoom, and originally even used the
same name.