Open 386MAX is the 386MAX memory manager for DOS, Windows 3.1x and Windows 9x: memory manager (386MAX.SYS, 386LOAD, 386UTIL), MAXIMIZE, ASQ, the MAX shell, MAXTEXT, ExtraDOS, the Windows tools (MAXedit, MAXmeter, the PIF editor, GoAhead, DOSMAX, the Toolbox) and the DOS and Windows installers.
Qualitas, Inc. released the 386MAX sources under the GNU GPL v3 (sudleyplace/386MAX). This fork builds everything with open-source tools on Linux, replaces the parts that existed only as binaries, and develops 386MAX further:
- runs on modern hardware: chipset shadow RAM (PAM/MTRR), E820/E801 reserved areas (AHCI, EBDA, ACPI) stay untouched, more than 256 MB RAM, ISA DMA above 16 MB
- SHADOWUMB: high DOS in the chipset's own shadow RAM instead of extended memory, with UMBPCI's chipset table (Intel, VIA, SiS, ALi; see docs/shadowram.md)
- QEMM programming interface (QPI): port trapping for SBEMU and VSBHDA, the multitasking functions DESQview 2.80 uses on QEMM (DESQview runs on 386MAX in its QEMM mode)
- DPMI host on par with HDPMI, XMS 3.5
- versioned Open MaxView backend discovery API (capability negotiation and root-context status; multi-VM services remain disabled until their contracts are implemented)
- ASQ for Windows (WINASQ)
- MAXTEXT: optional DOS hardware text-mode driver and public API
- MAXPROBE: bootable graphics card probe collecting text-mode data for MAXTEXT
- no serial numbers or registration; English and German
Branches: main is the development line (9.x, test releases such as
9.00-beta6), 8.x the maintenance line of 8.59 (bug fixes only).
Tested in QEMU with complete installation and MAXIMIZE runs (DOS and Windows SETUP, all three MAXIMIZE passes): MS-DOS 6.22, MS-DOS 7.1, Enhanced DR-DOS, SvarDOS, Windows for Workgroups 3.11 and Windows 98 SE (linux/test: maxdos.sh, win311.sh, win98.sh).
Releases with floppy, USB and CD images: Releases
Requirements: GNU make, gcc, Python 3, Open Watcom
(WATCOM=/opt/watcom), mtools, and for the media xorriso, dosfstools and zip.
git clone --recursive https://github.com/geosone/Open386MAX
cd 386MAX
make # tools and all projects, programs in build/bin
make MAXLANG=GR # German
python3 linux/tools/mkpkg.py build/package . # installation packageThe version number is in one place, the file VERSION (e.g. 8.51); the
build passes it to all programs, resources and the release media. A
suffix names test releases (9.00-beta1): the media carry it, the
programs report 9.00.
linux/jwasm and linux/jwlink are git submodules (branch 386max of
geosone/JWasm and
geosone/jwlink): JWasm with MASM 5.1
compatibility and jwlink with Microsoft LINK and Windows 3.x VxD
compatibility. make builds them into linux/bin first.
All Windows programs are plain Win16 programs (Windows SDK API, no MFC).
Release media, one build per language:
linux/scripts/buildlang.sh US # release/US/tree, release/US/package
linux/scripts/mkmedia.sh US # floppy set, USB image, ISO, ZIP in release/US| Path | Content |
|---|---|
386MAX, 386LOAD, 386DISK, EXTRADOS, VXD, ... |
the DOS and VxD parts (assembler) |
ASQ, ASQENG, MAXIMIZE, INSTALL, QSHELL, QUILIB, ... |
the DOS programs in C |
MAXEDIT, MAXMETER, QPIFEDIT, MAXCTRL, MAXSETUP, WINMXMZ, ... |
the Windows programs |
CTL3D, SFTTABS, HELPENG, VERLIB, HHELP, RDOSMAX |
new GPL code for parts that were only binaries |
DOSHELP, MAXHELP |
DOS and Windows help |
PACKAGE |
data files and file list of the installation package |
INC, INCLUDE |
shared include files |
TESTS |
DOS regression sources and component tests |
linux/mk |
build rules (dos.mk, win.mk) |
linux/tools |
help compilers, package tools, logo generator, build helpers |
linux/test |
tests in QEMU (DOS, Windows for Workgroups 3.11, installation) |
linux/scripts |
language builds and release media |
The tests need a DOS boot image and, for Windows, a Windows for Workgroups 3.11 installation; neither is part of this repository (no Microsoft files).
GNU General Public License version 3, see LICENSE.
(C) Copyright 1987-97 Qualitas, Inc.; Open 386MAX contributors 2022-2026.