Index: Makefile
===================================================================
--- Makefile	(revision 14151)
+++ Makefile	(working copy)
@@ -122,7 +122,10 @@
 #
 
 
+.PHONY: all
+all:
 
+
 INFO       = @echo
 SILENT     = @
 VERYSILENT = @
@@ -1429,9 +1432,7 @@
 	mkdir -p                                     bin/dist-dos/libopenmpt-$(DIST_LIBOPENMPT_VERSION)
 	mkdir -p                                     bin/dist-dos/libopenmpt-$(DIST_LIBOPENMPT_VERSION)/LICENSES
 	svn export ./LICENSE                         bin/dist-dos/libopenmpt-$(DIST_LIBOPENMPT_VERSION)/LICENSE.TXT          --native-eol CRLF
-	cd bin/dist-dos && unzip ../../build/externals/all422s.zip allegro/readme.txt
-	mv bin/dist-dos/allegro/readme.txt           bin/dist-dos/libopenmpt-$(DIST_LIBOPENMPT_VERSION)/LICENSES/ALLEGRO.TXT
-	rmdir bin/dist-dos/allegro
+	cp include/allegro42/readme.txt              bin/dist-dos/libopenmpt-$(DIST_LIBOPENMPT_VERSION)/LICENSES/ALLEGRO.TXT
 	cp include/cwsdpmi/bin/cwsdpmi.doc           bin/dist-dos/libopenmpt-$(DIST_LIBOPENMPT_VERSION)/LICENSES/CWSDPMI.TXT
 ifeq ($(ALLOW_LGPL),1)
 	svn export ./include/mpg123/COPYING          bin/dist-dos/libopenmpt-$(DIST_LIBOPENMPT_VERSION)/LICENSES/MPG123.TXT   --native-eol CRLF
Index: build/download_externals.sh
===================================================================
--- build/download_externals.sh	(revision 14151)
+++ build/download_externals.sh	(working copy)
@@ -82,12 +82,9 @@
 
 
 
-download_and_unpack_zip "allegro42" "https://djgpp.mirror.garr.it/current/v2tk/allegro/all422ar2.zip" "build/externals/all422ar2.zip" "."
-download                            "https://djgpp.mirror.garr.it/current/v2tk/allegro/all422s.zip" "build/externals/all422s.zip"
+download_and_unpack_zip "allegro42" "https://lib.openmpt.org/files/libopenmpt/contrib/allegro/allegro-4.2.3.1-hg.7+r8468.zip" "build/externals/allegro-4.2.3.1-hg.7+r8468.zip" "."
 download_and_unpack_zip "cwsdpmi"   "https://djgpp.mirror.garr.it/current/v2misc/csdpmi7b.zip" "build/externals/csdpmi7b.zip" "."
 download                            "https://djgpp.mirror.garr.it/current/v2misc/csdpmi7s.zip" "build/externals/csdpmi7s.zip"
-#download_and_unpack_zip "allegro42" "https://lib.openmpt.org/files/libopenmpt/contrib/djgpp/allegro/all422ar2.zip" "build/externals/all422ar2.zip" "."
-#download                            "https://lib.openmpt.org/files/libopenmpt/contrib/djgpp/allegro/all422s.zip" "build/externals/all422s.zip"
 #download_and_unpack_zip "cwsdpmi"   "https://lib.openmpt.org/files/libopenmpt/contrib/djgpp/cwsdpmi/csdpmi7b.zip" "build/externals/csdpmi7b.zip" "."
 #download                            "https://lib.openmpt.org/files/libopenmpt/contrib/djgpp/cwsdpmi/csdpmi7s.zip" "build/externals/csdpmi7s.zip"
 
Index: build/make/config-djgpp.mk
===================================================================
--- build/make/config-djgpp.mk	(revision 14151)
+++ build/make/config-djgpp.mk	(working copy)
@@ -18,12 +18,6 @@
 LDLIBS   += -lm
 ARFLAGS  := rcs
 
-ifeq ($(BUNDLED_ALLEGRO42),1)
-CPPFLAGS_ALLEGRO42 := -Iinclude/allegro42/include -DALLEGRO_HAVE_STDINT_H -DLONG_LONG="long long"
-LDFLAGS_ALLEGRO42 := 
-LDLIBS_ALLEGRO42 := include/allegro42/lib/liballeg.a
-endif
-
 include build/make/warnings-gcc.mk
 
 EXESUFFIX=.exe
@@ -69,3 +63,18 @@
 NO_SNDFILE=1
 NO_FLAC=1
 
+ifeq ($(BUNDLED_ALLEGRO42),1)
+
+CPPFLAGS_ALLEGRO42 := -Iinclude/allegro42/include -DALLEGRO_HAVE_STDINT_H -DLONG_LONG="long long"
+LDFLAGS_ALLEGRO42 := 
+LDLIBS_ALLEGRO42 := include/allegro42/lib/djgpp/liballeg.a
+
+include/allegro42/lib/djgpp/liballeg.a:
+	+cd include/allegro42 && ./xmake.sh clean
+	+cd include/allegro42 && ./xmake.sh lib
+
+bin/openmpt123$(EXESUFFIX): include/allegro42/lib/djgpp/liballeg.a
+
+MISC_OUTPUTS += include/allegro42/lib/djgpp/liballeg.a
+
+endif
Index: libopenmpt/dox/changelog.md
===================================================================
--- libopenmpt/dox/changelog.md	(revision 14151)
+++ libopenmpt/dox/changelog.md	(working copy)
@@ -22,6 +22,8 @@
  *  [**Change**] `Makefile` `CONFIG=emscripten` now supports
     `EMSCRIPTEN_TARGET=all` which provides WebAssembly as well as fallback to
     JavaScript in a single build.
+ *  [**Change**] openmpt123: DOS builds now use the Mercury fork of
+    `liballegro 4.2` for improved hardware compatibility.
 
  *  [**Regression**] `Makefile` `CONFIG=emscripten` does not support
     `EMSCRIPTEN_TARGET=asmjs` or `EMSCRIPTEN_TARGET=asmjs128m` any more because
