SMMU
SMMU stands for "Smack My Marine Up".
It is a Doom source port I wrote between 1998-2001. More information on it
is available on the
Doom Wiki. It was based on the MBF source port
by Lee Killough.
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.
As the author of SMMU, I humbly request that you do not redistribute SMMU.
While the license allows you to legally do so, the code contains a number of
critical bugs that were never fixed (and will never be fixed). Please see
the Doom Wiki for
alternative suggestions of source ports to use; if you need a stable DOS source
port then consider using
MBF.
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.
As a demonstration, you can also download
a simple demo level that that shows some of SMMU's
features (including
FraggleScript). A video of it is below.
SMMU includes a couple of easter eggs in the console. You can see some
screenshots of these here and
here.
Downloads
These are the most recent builds that I have in my possession. Due to
bit rot, I no longer have a working compile environment that will build
SMMU.
SMMU is licensed under the GNU GPL v2.
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.
| Binaries,
Source.
|
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.
| Binaries,
|
SMMU v3.10 (FraggleScript "beta" release
- October 25th 1999)
| Binaries,
Source.
|
SMMU v3.02 ("Birthday Beta" release - July 25th 1999).
Introduced lots of the basic
unique features of the port - chasecam, coloured lighting, etc.
| Binaries,
Source.
|
SMMU v3.01 (March 20th 1999).
Very early version with only some very basic features in place.
I sadly do not have the source code to this version.
| Binaries.
|
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.
sfdoom can be downloaded here:
MBF fixes
SMMU is based on Lee Killough's MBF.
I also made a bugfixed version of MBF.
Simon Howard