- A Memory Testing Environment
for MMX PCs -
Current version: 2.0 -
Page last updated: 01 Jun 2001
MemMXtest is a computer program for "IBM-compatible" PCs, that
checks the computer's main memory for faults and defects.
(Note however, that no program can be guaranteed to detect all faults, due
to their very nature.) This program is aimed
specifically at testing SDRAM memory modules (`DIMMs'), and uses
MMX instructions to read/write all 64 databits provided by these modules
at once. MemMXtest incorporates many well-known `march' tests, as well
as several pseudo-random tests. The vital parts of each test use manually
optimized machine code for maximal speed.
This program originates from a study project at the department of Information
Technology and Systems (sub-department Electrical Engineering) of the
University of Technology.
Many well-known `march' tests, several pseudo-random-data tests.
MMX instructions for accessing all 64 databits of DIMMs at once.
Manually optimized machine code for maximal speed.
Doesn't run under any Operating System -- it's an `OS' of its own.
Intelligent caching control makes sure tested memory is not cached while
test code executes from cache.
Can correct any address bit shufflings by the host bridge chipset without
Completely controllable via a serial line, ideal for industrial applications.
Complete with all source code; compiles on any i386 Linux[tm] system.
Extensive documentation, for both usage and development.
Modular structure which makes it easy to add new tests.
Any time: Also check the "User Contributions" section below.
06 Aug 05: Relocated webpage; the previous host will be shut down later
20 Mar 00: Webpage went live.
16 Mar 00: Released version 2.0, first "really public" release.
MemMXtest is free software, and is licensed to you under the
terms of the GNU General Public License.
That means that you are encouraged to redistribute and/or modify this program,
under certain conditions.
IF you choose to (re)distribute (un)modified versions of this
program, you must always make the (modified) source code available as well,
in order to guarantee the continuing freeness of the software.
Read more details (and the legally correct formulation) in the
General Public License.
MemMXtest is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
The GNU General Public License is also available in html
format, on the GNU server.
Currently, version 2.0 of MemMXtest is available for download:
New versions will be announced in the newsgroup comp.os.linux.announce.
The following (plaintext) files are part of the tar.gz archive,
but are available for online viewing as well:
README - Copyright etc.
CAP-SHEET - Quick overview of what MemMXtest
MANUAL - The (~25 p.) manual for users
references - Several interesting
This section is reserved for patches etc. that users send to me. (Note:
I don't have the time to actually verify these!)
14 Apr 2000: Nils Rennebarth pointed out that, on his machine, __inbc() in
mtest.c is fine with the (libc?) headers, but not actually available (link
Solution: replace all __inbc() with inb().
01 Jun 2001: Several users have reported that only the very first
line ("MemMXtest v2.0") is displayed when they start
Rysanek had the same problem and found a solution.
The default configuration of MemMXtest is to use the second
serial port (COM2) for remote control.
This apparently can cause system lockups on (at least) notebooks
in which COM2 is mapped to an incompatible built-in/plug-in modem.
Recompiling with COM1 solves this problem;
change the SERIAL_ADR definition in src/defines.h.
Recently, also another cause surfaced: COM2 is present, but is swithed off
in the BIOS Setup (or routed to the IR interface). Turn it on and things
is currently being "maintained" by its author, Anne Bezemer
(that's me). You can
contact me with any questions, comments, suggestions, problems, and language
corrections of course... at J.A.Bezemer@opensourcepartners.nl.
However, please keep in mind that I'm very busy with many other interesting
things at any given moment... ;-)
If you saved/printed this page and did not write down its location,