From 38626786f1a01689ed73a868e57f4b722d610eeb Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Wed, 16 Nov 2022 22:31:15 -0800
Subject: [PATCH] Maelstrom-1.4.3-L2.0.7
---
.c++howto | 11 +
Ambrosia.URL | 4 +
Ask.sh | 20 +
BUGS | 44 +
Changelog | 236 ++
Configure.sh | 102 +
Copyright | 17 +
Doc/Ambrosia.FAQ | 416 ++++
Doc/Maelstrom-Announce | 76 +
Doc/Maelstrom.FAQ | 602 +++++
Doc/Networking.Paper | 202 ++
Doc/Porting.Paper | 390 +++
Doc/Quotes | 25 +
Doc/RSA.README | 17 +
Doc/Technical_Notes-v1.0 | 260 ++
Doc/Technical_Notes-v1.1 | 26 +
Doc/Technical_Notes-v2.0 | 158 ++
INSTALL | 27 +
Images/Maelstrom#701.XPM.gz | Bin 0 -> 5549 bytes
Images/Maelstrom#704.XPM.gz | Bin 0 -> 6086 bytes
Images/Maelstrom-1#701.XPM.gz | Bin 0 -> 5689 bytes
Images/Maelstrom_Icon#100.cicn | Bin 0 -> 1156 bytes
Images/Maelstrom_Icon#101.cicn | Bin 0 -> 1156 bytes
Images/Maelstrom_Icon#102.cicn | Bin 0 -> 1156 bytes
Images/Maelstrom_Icon#103.cicn | Bin 0 -> 1156 bytes
Images/Maelstrom_Icon#104.cicn | Bin 0 -> 1156 bytes
Images/Maelstrom_Icon#110.cicn | Bin 0 -> 1156 bytes
Images/Maelstrom_Icon#128.cicn | Bin 0 -> 76 bytes
Images/Maelstrom_Icon#129.cicn | Bin 0 -> 76 bytes
Images/Maelstrom_Icon#130.cicn | Bin 0 -> 76 bytes
Images/Maelstrom_Icon#131.cicn | Bin 0 -> 76 bytes
Images/Maelstrom_Icon#132.cicn | Bin 0 -> 76 bytes
Images/Maelstrom_Icon#133.cicn | Bin 0 -> 76 bytes
Images/Maelstrom_Icon#134.cicn | Bin 0 -> 76 bytes
Images/Maelstrom_Icon#135.cicn | Bin 0 -> 76 bytes
Images/Maelstrom_Icon#136.cicn | Bin 0 -> 76 bytes
Images/Maelstrom_Icon#137.cicn | Bin 0 -> 76 bytes
Images/Maelstrom_Sprites#128.XPM.gz | Bin 0 -> 201 bytes
Images/Maelstrom_Sprites#128.icon | Bin 0 -> 39 bytes
Images/Maelstrom_Titles#100.XPM.gz | Bin 0 -> 3589 bytes
Images/Maelstrom_Titles#100.icon | Bin 0 -> 23404 bytes
Images/Maelstrom_Titles#101.XPM.gz | Bin 0 -> 3948 bytes
Images/Maelstrom_Titles#101.icon | Bin 0 -> 21204 bytes
Images/Maelstrom_Titles#102.XPM.gz | Bin 0 -> 3448 bytes
Images/Maelstrom_Titles#102.icon | Bin 0 -> 13304 bytes
Images/Maelstrom_Titles#128.XPM.gz | Bin 0 -> 3586 bytes
Images/Maelstrom_Titles#128.icon | Bin 0 -> 16468 bytes
Images/Maelstrom_Titles#129.XPM.gz | Bin 0 -> 20780 bytes
Images/Maelstrom_Titles#129.icon | Bin 0 -> 41188 bytes
Images/Maelstrom_Titles#130.XPM.gz | Bin 0 -> 65055 bytes
Images/Maelstrom_Titles#130.icon | Bin 0 -> 196612 bytes
Images/Maelstrom_Titles#133.XPM.gz | Bin 0 -> 9839 bytes
Images/Maelstrom_Titles#133.icon | Bin 0 -> 196612 bytes
Images/Maelstrom_Titles#134.XPM.gz | Bin 0 -> 6664 bytes
Images/Maelstrom_Titles#134.icon | Bin 0 -> 196612 bytes
Images/Maelstrom_Titles#135.XPM.gz | Bin 0 -> 7003 bytes
Images/Maelstrom_Titles#135.icon | Bin 0 -> 196612 bytes
Images/Maelstrom_Titles#999-embossed.XPM.gz | Bin 0 -> 97621 bytes
Images/Maelstrom_Titles#999.XPM.gz | Bin 0 -> 25698 bytes
Images/Maelstrom_Titles#999.icon | Bin 0 -> 91524 bytes
Mac_Resource.cpp | 403 ++++
Mac_Resource.h | 60 +
Macres.cpp | 54 +
Maelstrom Fonts | Bin 0 -> 153211 bytes
Maelstrom Sounds | Bin 0 -> 413235 bytes
Maelstrom Sprites | Bin 0 -> 729966 bytes
Maelstrom Titles | Bin 0 -> 294398 bytes
Maelstrom-1.4.3-L2.0.7.lsm | 22 +
Maelstrom-Scores | Bin 0 -> 280 bytes
Maelstrom-Scores.high | Bin 0 -> 279 bytes
Maelstrom.h | 94 +
Maelstrom_Globals.h | 175 ++
Maelstrom_Inline.h | 41 +
Maelstrom_icon.xpm | 119 +
Maelstrom_sound.cpp | 245 ++
Makefile | 116 +
Makeflags | 12 +
Makeflags.in | 39 +
Makeflags.start | 12 +
README | 17 +
README.Options | 102 +
README.joystick | 26 +
README.network | 38 +
SetDefault.sh | 139 ++
Sprite.h | 40 +
Utils.cpp | 121 +
applefile.h | 353 +++
bitesex.h | 115 +
buttons.h | 61 +
checksum.cpp | 259 ++
checksum.h | 11 +
colortable.h | 2346 +++++++++++++++++++
controls.cpp | 661 ++++++
controls.h | 32 +
cursor.h | 45 +
cursor.xbm | 19 +
cursor_sprite.h | 29 +
cursorm.xbm | 19 +
dga_framebuf.cpp | 675 ++++++
dga_framebuf.h | 161 ++
dialog.cpp | 170 ++
dialog.h | 709 ++++++
fastlogic/.c++howto | 11 +
fastlogic/Makefile | 11 +
fastlogic/README | 3 +
fastlogic/about.cpp | 215 ++
fastlogic/blit.cpp | 1421 +++++++++++
fastlogic/blit.h | 5 +
fastlogic/fastlogic.h | 90 +
fastlogic/game.cpp | 1103 +++++++++
fastlogic/globals.h | 75 +
fastlogic/logic.cpp | 115 +
fastlogic/make.cpp | 567 +++++
fastlogic/make.h | 17 +
fastrand.cpp | 93 +
fontserv.cpp | 350 +++
fontserv.h | 85 +
framebuf.cpp | 1470 ++++++++++++
framebuf.h | 378 +++
gifencode.cpp | 692 ++++++
hash.tmpl | 139 ++
imagedump.cpp | 215 ++
imagedump.h | 23 +
init.cpp | 1311 +++++++++++
joystick.h | 233 ++
keyboard.h | 526 +++++
linux/joystick.h | 54 +
list.tmpl | 157 ++
logic.h | 31 +
main.cpp | 941 ++++++++
mixer-dma.cpp | 411 ++++
mixer-dma.h | 149 ++
mixer-nas.cpp | 235 ++
mixer-nas.h | 67 +
mixer-std.cpp | 629 +++++
mixer-std.h | 196 ++
mydebug.h | 18 +
myerror.cpp | 75 +
myerror.h | 14 +
netlogic/.c++howto | 11 +
netlogic/Makefile | 11 +
netlogic/README | 3 +
netlogic/about.cpp | 215 ++
netlogic/blit.cpp | 160 ++
netlogic/game.cpp | 1133 +++++++++
netlogic/globals.h | 29 +
netlogic/logic.cpp | 115 +
netlogic/make.cpp | 375 +++
netlogic/make.h | 13 +
netlogic/netlogic.h | 45 +
netlogic/netplay.cpp | 1039 ++++++++
netlogic/netplay.h | 18 +
netlogic/netplayer.cc.idea | 88 +
netlogic/object.cpp | 113 +
netlogic/object.h | 299 +++
netlogic/objects.h | 641 +++++
netlogic/player.cpp | 753 ++++++
netlogic/player.h | 152 ++
netlogic/protocol.h | 23 +
netlogic/shinobi.h | 279 +++
netplayd/Makefile | 14 +
netplayd/netplayd.c | 370 +++
netscore.cpp | 287 +++
netscore.h | 10 +
newmem.h | 47 +
public_key.h | 8 +
queue.tmpl | 87 +
randtest.cpp | 15 +
sample.h | 13 +
scores.cpp | 301 +++
scores.h | 15 +
shared.cpp | 108 +
sound.cpp | 448 ++++
sound.h | 91 +
sound_cmds.h | 58 +
soundres.cpp | 257 ++
soundres.h | 40 +
stack.tmpl | 73 +
testlist.cpp | 77 +
utils/Makefile | 30 +
utils/README | 10 +
utils/Sprite.h | 14 +
utils/clut2cmap.c | 57 +
utils/colormap0.XPM.gz | Bin 0 -> 2448 bytes
utils/colortable.h | 267 +++
utils/countcolors.cc | 71 +
utils/data2array.c | 15 +
utils/dicon.c | 57 +
utils/dppm.c | 48 +
utils/dsprite.c | 63 +
utils/endianicon.c | 27 +
utils/gen_vgakeys.c | 89 +
utils/genkeypair.c | 98 +
utils/makecmap.c | 91 +
utils/matchcolors.c | 63 +
utils/mergescores.c | 78 +
utils/newcolors.h | 259 ++
utils/populatecmap.c | 62 +
utils/printscores.c | 35 +
utils/swap.c | 19 +
utils/test-asyncio.c | 104 +
utils/verifycolors.c | 24 +
utils/xpm2icon.c | 116 +
utils/xpm2sprite.c | 154 ++
v_framebuf.cpp | 138 ++
v_framebuf.h | 39 +
vga_framebuf.cpp | 774 ++++++
vga_framebuf.h | 179 ++
vga_keys.h | 34 +
x11_framebuf.cpp | 965 ++++++++
x11_framebuf.h | 89 +
211 files changed, 34201 insertions(+)
create mode 100644 .c++howto
create mode 100644 Ambrosia.URL
create mode 100644 Ask.sh
create mode 100644 BUGS
create mode 100755 Changelog
create mode 100644 Configure.sh
create mode 100755 Copyright
create mode 100644 Doc/Ambrosia.FAQ
create mode 100755 Doc/Maelstrom-Announce
create mode 100755 Doc/Maelstrom.FAQ
create mode 100755 Doc/Networking.Paper
create mode 100644 Doc/Porting.Paper
create mode 100644 Doc/Quotes
create mode 100755 Doc/RSA.README
create mode 100644 Doc/Technical_Notes-v1.0
create mode 100644 Doc/Technical_Notes-v1.1
create mode 100644 Doc/Technical_Notes-v2.0
create mode 100755 INSTALL
create mode 100644 Images/Maelstrom#701.XPM.gz
create mode 100644 Images/Maelstrom#704.XPM.gz
create mode 100644 Images/Maelstrom-1#701.XPM.gz
create mode 100644 Images/Maelstrom_Icon#100.cicn
create mode 100644 Images/Maelstrom_Icon#101.cicn
create mode 100644 Images/Maelstrom_Icon#102.cicn
create mode 100644 Images/Maelstrom_Icon#103.cicn
create mode 100644 Images/Maelstrom_Icon#104.cicn
create mode 100644 Images/Maelstrom_Icon#110.cicn
create mode 100644 Images/Maelstrom_Icon#128.cicn
create mode 100644 Images/Maelstrom_Icon#129.cicn
create mode 100644 Images/Maelstrom_Icon#130.cicn
create mode 100644 Images/Maelstrom_Icon#131.cicn
create mode 100644 Images/Maelstrom_Icon#132.cicn
create mode 100644 Images/Maelstrom_Icon#133.cicn
create mode 100644 Images/Maelstrom_Icon#134.cicn
create mode 100644 Images/Maelstrom_Icon#135.cicn
create mode 100644 Images/Maelstrom_Icon#136.cicn
create mode 100644 Images/Maelstrom_Icon#137.cicn
create mode 100644 Images/Maelstrom_Sprites#128.XPM.gz
create mode 100644 Images/Maelstrom_Sprites#128.icon
create mode 100644 Images/Maelstrom_Titles#100.XPM.gz
create mode 100644 Images/Maelstrom_Titles#100.icon
create mode 100644 Images/Maelstrom_Titles#101.XPM.gz
create mode 100644 Images/Maelstrom_Titles#101.icon
create mode 100644 Images/Maelstrom_Titles#102.XPM.gz
create mode 100644 Images/Maelstrom_Titles#102.icon
create mode 100644 Images/Maelstrom_Titles#128.XPM.gz
create mode 100644 Images/Maelstrom_Titles#128.icon
create mode 100644 Images/Maelstrom_Titles#129.XPM.gz
create mode 100644 Images/Maelstrom_Titles#129.icon
create mode 100644 Images/Maelstrom_Titles#130.XPM.gz
create mode 100644 Images/Maelstrom_Titles#130.icon
create mode 100644 Images/Maelstrom_Titles#133.XPM.gz
create mode 100644 Images/Maelstrom_Titles#133.icon
create mode 100644 Images/Maelstrom_Titles#134.XPM.gz
create mode 100644 Images/Maelstrom_Titles#134.icon
create mode 100644 Images/Maelstrom_Titles#135.XPM.gz
create mode 100644 Images/Maelstrom_Titles#135.icon
create mode 100644 Images/Maelstrom_Titles#999-embossed.XPM.gz
create mode 100644 Images/Maelstrom_Titles#999.XPM.gz
create mode 100644 Images/Maelstrom_Titles#999.icon
create mode 100755 Mac_Resource.cpp
create mode 100755 Mac_Resource.h
create mode 100644 Macres.cpp
create mode 100644 Maelstrom Fonts
create mode 100644 Maelstrom Sounds
create mode 100644 Maelstrom Sprites
create mode 100644 Maelstrom Titles
create mode 100755 Maelstrom-1.4.3-L2.0.7.lsm
create mode 100644 Maelstrom-Scores
create mode 100644 Maelstrom-Scores.high
create mode 100644 Maelstrom.h
create mode 100644 Maelstrom_Globals.h
create mode 100644 Maelstrom_Inline.h
create mode 100644 Maelstrom_icon.xpm
create mode 100644 Maelstrom_sound.cpp
create mode 100644 Makefile
create mode 100644 Makeflags
create mode 100644 Makeflags.in
create mode 100644 Makeflags.start
create mode 100755 README
create mode 100644 README.Options
create mode 100755 README.joystick
create mode 100644 README.network
create mode 100644 SetDefault.sh
create mode 100644 Sprite.h
create mode 100644 Utils.cpp
create mode 100644 applefile.h
create mode 100644 bitesex.h
create mode 100644 buttons.h
create mode 100644 checksum.cpp
create mode 100644 checksum.h
create mode 100644 colortable.h
create mode 100644 controls.cpp
create mode 100644 controls.h
create mode 100644 cursor.h
create mode 100644 cursor.xbm
create mode 100644 cursor_sprite.h
create mode 100644 cursorm.xbm
create mode 100644 dga_framebuf.cpp
create mode 100644 dga_framebuf.h
create mode 100644 dialog.cpp
create mode 100644 dialog.h
create mode 100644 fastlogic/.c++howto
create mode 100644 fastlogic/Makefile
create mode 100644 fastlogic/README
create mode 100644 fastlogic/about.cpp
create mode 100644 fastlogic/blit.cpp
create mode 100644 fastlogic/blit.h
create mode 100644 fastlogic/fastlogic.h
create mode 100755 fastlogic/game.cpp
create mode 100644 fastlogic/globals.h
create mode 100644 fastlogic/logic.cpp
create mode 100644 fastlogic/make.cpp
create mode 100644 fastlogic/make.h
create mode 100644 fastrand.cpp
create mode 100644 fontserv.cpp
create mode 100755 fontserv.h
create mode 100644 framebuf.cpp
create mode 100644 framebuf.h
create mode 100644 gifencode.cpp
create mode 100644 hash.tmpl
create mode 100644 imagedump.cpp
create mode 100644 imagedump.h
create mode 100644 init.cpp
create mode 100644 joystick.h
create mode 100644 keyboard.h
create mode 100644 linux/joystick.h
create mode 100644 list.tmpl
create mode 100644 logic.h
create mode 100755 main.cpp
create mode 100644 mixer-dma.cpp
create mode 100644 mixer-dma.h
create mode 100644 mixer-nas.cpp
create mode 100644 mixer-nas.h
create mode 100644 mixer-std.cpp
create mode 100644 mixer-std.h
create mode 100644 mydebug.h
create mode 100644 myerror.cpp
create mode 100644 myerror.h
create mode 100644 netlogic/.c++howto
create mode 100644 netlogic/Makefile
create mode 100644 netlogic/README
create mode 100644 netlogic/about.cpp
create mode 100644 netlogic/blit.cpp
create mode 100755 netlogic/game.cpp
create mode 100644 netlogic/globals.h
create mode 100644 netlogic/logic.cpp
create mode 100644 netlogic/make.cpp
create mode 100644 netlogic/make.h
create mode 100644 netlogic/netlogic.h
create mode 100644 netlogic/netplay.cpp
create mode 100644 netlogic/netplay.h
create mode 100644 netlogic/netplayer.cc.idea
create mode 100644 netlogic/object.cpp
create mode 100644 netlogic/object.h
create mode 100644 netlogic/objects.h
create mode 100644 netlogic/player.cpp
create mode 100644 netlogic/player.h
create mode 100644 netlogic/protocol.h
create mode 100644 netlogic/shinobi.h
create mode 100644 netplayd/Makefile
create mode 100644 netplayd/netplayd.c
create mode 100644 netscore.cpp
create mode 100644 netscore.h
create mode 100644 newmem.h
create mode 100644 public_key.h
create mode 100644 queue.tmpl
create mode 100644 randtest.cpp
create mode 100644 sample.h
create mode 100644 scores.cpp
create mode 100644 scores.h
create mode 100644 shared.cpp
create mode 100644 sound.cpp
create mode 100644 sound.h
create mode 100644 sound_cmds.h
create mode 100755 soundres.cpp
create mode 100644 soundres.h
create mode 100644 stack.tmpl
create mode 100644 testlist.cpp
create mode 100644 utils/Makefile
create mode 100644 utils/README
create mode 100644 utils/Sprite.h
create mode 100644 utils/clut2cmap.c
create mode 100644 utils/colormap0.XPM.gz
create mode 100644 utils/colortable.h
create mode 100644 utils/countcolors.cc
create mode 100644 utils/data2array.c
create mode 100644 utils/dicon.c
create mode 100644 utils/dppm.c
create mode 100644 utils/dsprite.c
create mode 100644 utils/endianicon.c
create mode 100644 utils/gen_vgakeys.c
create mode 100644 utils/genkeypair.c
create mode 100644 utils/makecmap.c
create mode 100644 utils/matchcolors.c
create mode 100644 utils/mergescores.c
create mode 100644 utils/newcolors.h
create mode 100644 utils/populatecmap.c
create mode 100644 utils/printscores.c
create mode 100644 utils/swap.c
create mode 100644 utils/test-asyncio.c
create mode 100644 utils/verifycolors.c
create mode 100644 utils/xpm2icon.c
create mode 100644 utils/xpm2sprite.c
create mode 100644 v_framebuf.cpp
create mode 100644 v_framebuf.h
create mode 100644 vga_framebuf.cpp
create mode 100644 vga_framebuf.h
create mode 100644 vga_keys.h
create mode 100644 x11_framebuf.cpp
create mode 100644 x11_framebuf.h
diff --git a/.c++howto b/.c++howto
new file mode 100644
index 0000000..8c0d7de
--- /dev/null
+++ b/.c++howto
@@ -0,0 +1,11 @@
+
+###########################################################################
+#
+# Some consistent rules for building C++ files:
+
+.SUFFIXES: .cpp
+
+.cpp.o:
+ $(CXX) $(CFLAGS) -c $<
+
+###########################################################################
diff --git a/Ambrosia.URL b/Ambrosia.URL
new file mode 100644
index 0000000..1a4f0db
--- /dev/null
+++ b/Ambrosia.URL
@@ -0,0 +1,4 @@
+Official Ambrosia Web Site:
+http://www.ambrosiasw.com/
+Unofficial Ambrosia Web Site:
+http://www.digitmad.com/ambrosia/ambrosia.html
diff --git a/Ask.sh b/Ask.sh
new file mode 100644
index 0000000..65353c9
--- /dev/null
+++ b/Ask.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+#
+# Ask a question and return yes or no
+
+#Ask()
+#{
+ prompt=$1
+ default=$2
+ if [ "`echo '\c'`" = "" ]; then
+ echo "$prompt [$default] \c" >/dev/tty
+ else
+ echo -n "$prompt [$default] " >/dev/tty
+ fi
+ read answer
+ if [ "$answer" = "" ]; then
+ echo $default
+ else
+ echo $answer
+ fi
+#}
diff --git a/BUGS b/BUGS
new file mode 100644
index 0000000..7b2ebed
--- /dev/null
+++ b/BUGS
@@ -0,0 +1,44 @@
+
+
+ Known Maelstrom Bugs
+ ----------------------
+
+Generic bugs:
+
+ If Maelstrom crashes, your keyboard will be left in no-keyrepeat
+ mode. To fix this, just do 'xset r' after Maelstrom crashes.
+
+ Also, during the Maelstrom game, keyrepeat is turned off.
+
+ * Sometimes asteroids leave trails behind them when they go offscreen.
+
+
+Netlogic bugs:
+
+ The identifying blue dot will appear in single player mode if
+ compiled with multiplayer support.
+
+
+Linux SVGA version:
+
+ * For some reason, the key release events are occasionally being missed.
+ Sometimes a key will get "stuck" between levels, or even in the
+ middle of a game. Just press the key and release it again.
+
+
+DEC version:
+
+ * Maelstrom fading has crashed twm on at least two occasions.
+ Just run Maelstrom with the '-nofade' option if you run twm
+ or the fading crashes your machine.
+
+ No sound support.
+
+
+HPUX version:
+
+ Sound sucks. Turn the volume off by typing '0' on the main menu.
+
+
+[*] The reason for this bug is not currently known.
+
diff --git a/Changelog b/Changelog
new file mode 100755
index 0000000..ce18a92
--- /dev/null
+++ b/Changelog
@@ -0,0 +1,236 @@
+
+Maelstrom 1.4.3 -- Linux version
+
+Version 2.0.7:
+ * Added a netscore environment variable: MAELSTROM_SCORESERVER
+ * Fixed long-standing 24/32 bpp X display detection problem
+ * Fixed minor compilation problems with modern Linux systems
+ * Moved error routines into separate file - fixed PPC Linux
+
+Version 2.0.6:
+ * Maelstrom no longer eats CPU while paused -- Oops. :)
+ * Added interlaced pixel doubling for faster doubled display
+ * Added pixel doubling to Win95 framebuffer code
+ * Ported to SunOS and Sparc Linux
+ * Fixed infinite recursion on sound callbacks.
+
+Version 2.0.5b:
+ * Fixed silly 16 bpp blit code bug
+ * Fixed 'make install' -- uses "install" by default
+ * Fixed segmentation fault in the SVGAlib framebuf driver
+ * Enhanced the DGA code for HiColor and TrueColor depths
+ * GREATLY increased DGA speed for linear video cards!
+
+Version 2.0.5:
+ * Added PIXEL_DOUBLING back in the X11 display driver
+ * The DISPLAY environment variable overrides Linux console
+ * Steel asteroids really aren't supposed to last forever. :)
+ * Saucer shots don't kill when saucer is destroyed (netlogic)
+ * Optimized framebuffer blitting code
+ * Fixed completely white screen on big-endian systems (Sun/SGI)
+ * Fixed bug in right edge clipping
+ * GIF format screendumps from high bit-depths okay (slow!)
+ * Linux sound defaults to 8 bit again -- sounds better.
+
+Version 2.0.4:
+ * Added 32 bit TrueColor X11 display support
+ * FrameBuf now supports video memory locking and pitch
+ * FrameBuf::ReColor() maps image pixels to screen pixels
+ * Optimized the compiled sprite engine
+ * Speeded up truecolor video, slightly slowed 256 color video
+ * Removed pixel doubling support
+ * Removed background pixmap shared memory support (not needed)
+ * Stars!! Lots and lots of Stars!!!
+ * Ported to Windows 95 (unreleased)
+
+Version 2.0.3b:
+ * Fixed bug in which VGA keys must be pressed twice to start.
+ * Added crappy VGA 16 color mode - yuck. LOW_RES is better.
+
+Version 2.0.3a:
+ * Fixed segmentation fault in mixer-dma.cc
+ * Added error checking to X_image creation.
+ * Added native support for FreeBSD and SVR4.2
+ (Thanks to Stephen Hocking <sysseh@devetir.qld.gov.au>)
+
+Version 2.0.3:
+ * Fixed silly full-screen window bug
+ * Bonuses, comets and gravity don't shake and shimmy no mo'
+ * Very slightly improved NAS support .. yech, don't use it.
+ * Added experimental DMA audio support for Linux - nice. :)
+ * New life accounting during bonus screen works now.
+ * Cleaned up the Makefile logic
+
+Version 2.0.2:
+ * Kjetil Torgrim Homme added compiler-specific cleanup.
+ * Multiplayer scores are now updated properly.
+ * Fixed asteroid counting problem after an explosion.
+ * Set default fading to pixellated, added -realfade option.
+
+Version 2.0.0: Beta!
+ * Added a network address server for multi-player games
+ * Cleaned up my code some, gcc -Wall is a bit cleaner. :-)
+ * Fixed problem on SGI where make would always recompile.
+ * Ported to AIX 3.2 with gcc 2.7.2 (No sound)
+ (Thanks to C. Chan <chan@alfrothul.uchicago.edu>)
+ * Updated some documentation. :)
+ * Added slower smoother double-buffering for SVGA graphics
+ * Added cheap, slow, low resolution SVGA mode (320x240x256)
+ (Inspired by Scott Stone <sstone@pht.com>)
+ * Added experimental 8-bit XFree86 3.1.2E DGA support.
+ * Added "-displaytype" option to query current display.
+
+Version 2.0.0: Alpha!
+ * New!! Multi-player mode! Up to 3 players! Has Bugs!! :)
+ * Added some basic joystick support for Linux.
+ * Added a network-based score registration server.
+ * Added a '-printscores' command line option.
+ * Added a '-netscores' command line option.
+ * Added the ability to display on remote X terminals.
+ * Added a '-display <display>' command line option.
+ * Fixed a minor high score name entering bug.
+ * Fixed endian compile problems on HPUX.
+ * More robust data file searching (files can contain '_')
+ * Time bug fix -- by Warwick Allinson (warwick@cs.uq.oz.au)
+ * Added better fading code for the -nofade option
+ This is slow on 16-24 bit displays. Comments?
+ * Maelstrom now understands AppleDouble resource forks
+ * Finally fixed "press Enter after switching consoles" bug
+ Inspired by Tessa Lau (tlau@cs.washington.edu)
+ * Finally fixed "stuck keys between levels" SVGA problem.
+ * Hopefully sped up SVGAlib refresh (removed a mem copy)
+ * A few code cleanups.
+ * Never seeded random number generator in prior versions.
+ * NEW! Now using the original FastRandom() function,
+ for more Macintosh fidelity. :-)
+ * Finally fixed SGI sound!
+ Thanks to great work by Tom Anderson (tom@proximity.com.au)
+ and original code boost by Alain Schmidt (alainrd@trix.be)
+ * Sound server enhancements by Tom Anderson:
+ Mellowed out sound volume for less clipping.
+ Added 16 bit sound for SGI's
+ Added POSIX signal support to the sound server.
+ Created a portable usleep() function (select() based)
+ * Added Screen capture during game - triggered by hitting F3
+ Saves to XPM or GIF format (compile time option)
+ * Added the pixel fade feature to SVGA mode.
+ * Added a Configure script that autodetects your system.
+ * Fixed some timing bugs in Delay()
+ * Optimized some of the sprite blitting.
+
+Version 1.1.4:
+ * Fixed a time related bug in "long" v.s. "unsigned long" !!??
+ * Removed an offending "#include <vga.h>" from main.cc
+ * Improved SVGA refresh algorithm (Thanks ARDI!)
+ (too slow on my machine -- #ifdef'd out)
+ * Fixed a bug in shots not wrapping vertically
+ (Thanks to Dave Ljung for finding that)
+
+Version 1.1.3:
+ * Fourth Public Release: 12/10/95
+ * Fixed asynchronous I/O problem on Solaris.
+ * Finished port of Maelstrom to Solaris 2.4
+ * Finished port of Maelstrom to SGI (IRIX 5.3
+ * Ported Maelstrom to ULTRIX 4.4 (No sound)
+ * Ported Maelstrom to HPUX 9.01 (No sound)
+ * Added a '-version' command line option.
+ * Added a '-fullscreen' command line option for X11.
+ * Added a '-nofade' command line option.
+ * If just '-gamma' is given, we print the current gamma level.
+ * Fixed a problem with '-privatecmap' where the mouse had
+ to leave and re-enter the window to update the colormap.
+ * Added pixel doubling support -- compile-time option.
+ * Maelstrom pauses while iconified under X11.
+ * If Maelstrom is on a Linux console, it will run in SVGA mode.
+ * Oops, fixing Trident SVGA broke Mach32 SVGA. Fixed.
+ * Added /dev/audio sound support.
+ Thanks to 'rockndiamonds' and 'snd2au.c' - Thanks! :)
+Copyright for snd2au.c:
+/************************************************************************/
+/* Copyright 1989 by Rich Gopstein and Harris Corporation */
+/* */
+/* Permission to use, copy, modify, and distribute this software */
+/* and its documentation for any purpose and without fee is */
+/* hereby granted, provided that the above copyright notice */
+/* appears in all copies and that both that copyright notice and */
+/* this permission notice appear in supporting documentation, and */
+/* that the name of Rich Gopstein and Harris Corporation not be */
+/* used in advertising or publicity pertaining to distribution */
+/* of the software without specific, written prior permission. */
+/* Rich Gopstein and Harris Corporation make no representations */
+/* about the suitability of this software for any purpose. It */
+/* provided "as is" without express or implied warranty. */
+/************************************************************************/
+
+Version 1.1.2:
+ * Third Public Release: 10/17/95
+ * Fixed a compiler warning on vga_frambuf.cc
+ * Changed installation directory to /usr/local/bin
+ * Beautified the 'install' target in the Makefile
+ * Added 'uninstall' target to Makefile
+
+ * Bugs known in Linux X11 version:
+ Iconifying Maelstrom doesn't put it in pause mode.
+
+ * Bugs known in Linux SVGA version: (unknown causes)
+ Keys can get "stuck" between levels.
+ Console switching doesn't always pause the game
+ After switching consoles, keystrokes cause SIGQUIT ??
+
+ * Sort-of ported Maelstrom to Solaris 2.4
+ Known bugs: (unknown causes)
+ Setting asynchronous I/O in Sound Server returns EINVAL
+ Sound support not tested
+
+ * Sort-of ported Maelstrom to the SGI
+ Known bugs: (unknown causes)
+ Fading doesn't work, and neither does -privatecmap
+ Some scores are reported as low negative numbers
+ No sound support
+
+ * Sort-
(Patch may be truncated, please check the link at the top of this post.)