Table of Contents Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 Hardware/Software Requirements . . . . . . . . . . . . . . . 2 Hardware . . . . . . . . . . . . . . . . . . . . . . . . 2 Software . . . . . . . . . . . . . . . . . . . . . . . . 3 Display . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 The Banner Box . . . . . . . . . . . . . . . . . . . . . 3 Program name . . . . . . . . . . . . . . . . . . . 3 Elapsed Time . . . . . . . . . . . . . . . . . . . 3 The Status Box . . . . . . . . . . . . . . . . . . . . . 3 Processor . . . . . . . . . . . . . . . . . . . . . 3 Memory Size . . . . . . . . . . . . . . . . . . . . 3 Errors: . . . . . . . . . . . . . . . . . . . . . . 3 Passes . . . . . . . . . . . . . . . . . . . . . . 4 Word Size . . . . . . . . . . . . . . . . . . . . . 4 Offset . . . . . . . . . . . . . . . . . . . . . . 4 Phase . . . . . . . . . . . . . . . . . . . . . . . 4 The Memory Box . . . . . . . . . . . . . . . . . . . . . 4 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Comments/Suggestions . . . . . . . . . . . . . . . . . . . . 6 Releases and Versions . . . . . . . . . . . . . . . . . . . . 6 Extended Memory Test for 80286/386/486, J.M.Cyr, October 1990 Introduction ============ Increased reliance on memory intensive products such as Windows 3.0{1}, OS/2{2}, and large disk caches, has pushed us to install more and more memory on our systems. Systems with four to eight megabyte of extended memory are no longer uncommon. But yet, other than the BIOS cold boot test and hardware parity checking, there are few tools available to test extended memory thoroughly. This protected mode program, called TESTEXT, was designed to fill this gap, by providing intensive and varied memory testing, over all the extended memory installed. Both data storage and address decoding logic are exercised by using random data and access patterns. TESTEXT is FreeWare. This means you can use it, or distrib- ute it free of charge. This program has been tested extensively, and is though to be without defects. The author, however, is not responsible for any damage caused its use. The program is sup- plied as is, and will be used at your own risk. Hardware/Software Requirements ============================== TESTEXT was designed to run on processors that support protected mode and extended memory. It cannot be used to test Expanded Memory (EMS), and will not run on IBM XT{3} clones. On machines that do support protected mode, some extended memory must be installed before TESTEXT will run. Hardware -------- - IBM AT{4} compatible, using 80286{5}, 80386, or 80486 processor. - Monochrome or colour, 80 character by 25 line display. - Installed extended memory. {1} Windows 3.0 is a trademark of Microsoft {2} OS/2 is a trademark of Microsoft and IBM {3} PC XT is a trademark of IBM {4} IBM AT is a trademark of IBM {5} 80286, 80386, and 80486 are trademarks of Intel Extended Memory Test for 80286/386/486, J.M.Cyr, October 1990 Software -------- - MS/DOS{1} 2.2 or later, PC/DOS{2} 2.2 or later. Display ======= This program can accommodate any Monochrome (MDA) or Colour (CGA, EGA, or VGA) adapter, so long as it is configured to run in 25 line by 80 column mode. The display is broken up into three areas: the banner box, the status box, and the data box. The Banner Box -------------- The banner box contains two pieces of information that are necessary when reporting problems: Program name: This is the name and version of the program you are running. Elapsed Time: This is the total amount of time, in hours, minutes and seconds, that TESTEXT has been running. The Status Box -------------- The status box display various pieces of program status information: Processor: The processor detected by TESTEXT. Double word accesses will not be used on the 80286 processor. Memory Size: The amount of extended memory detected. This value is in kilobytes and is obtained from the machine configur- ation stored in CMOS. Errors: The total number of memory error encountered so far. {1} MS-DOS is a trademark of Microsoft {2} PC/DOS is a trademark of IBM Extended Memory Test for 80286/386/486, J.M.Cyr, October 1990 Passes: The total number of passes performed so far. Each pass consists of a single store phase, and a single verify phase. Word Size: The data width of accesses used for memory testing. Three widths are used by TESTEXT: byte, word, and double word. Double word accesses are not supported on the 80286. Offset: This is the offset, in bytes, added to all memory address. An offset, varying from 0 to the current word size minus one, is used to ensure that accesses straddle hardware word and double word boundaries. The following figure illustrates double word access with offset of 3: Physical memory |0 1 2 3|4 5 6 7|8 9 A B|C D E F| Accesses |0 1 2 3|0 1 2 3|0 1 2 3| ->|1 2 3|<- Offset Phase: First a store phase is performed to set all of extended memory to random patterns. The a verify phases checks for the same patterns. The Memory Box -------------- The memory box serves to record a history of the errors encountered. In this display box, extended memory is divided into up to 15 lines, representing one megabyte each. Each line is in turn divided into up to eight error status values. Each of these values represents a 128K memory seg- ment, and is displayed as eight hexadecimal digits. The value represents the history of all the bits that were found in error, in any double word (4 bytes) in this 128K byte segment. A zero indicates no errors found. Any other value indicates memory errors, and will be high-lighted. The following diagram illustrates how the top right value repre- sents the first 128K of extended memory. Extended Memory Test for 80286/386/486, J.M.Cyr, October 1990 Address Byte 0 Byte 1 Byte 2 Byte 3 11FFFC: 00100000 00000000 00000000 00000000 Bits in error 11FFF8: 00000000 00010000 00000000 00000000 ... 100008: 00000000 00000000 00100000 00000000 100004: 00000000 00000000 00110000 00000000 100000: 00000000 00000000 00000000 01000000 = Total Errors: 00100000 00010000 00110000 01000000 Bits in error This value is then displayed in hex as: 0-127K 128-255K 1M 20103040 ........ 2M ........ ........ A hardware manual for your computer is required to map address and bit failure information to specific failing memory chips. This mapping is specified in your mother board design, and is beyond the scope of this program. Operation ========= TESTEXT was designed to run under DOS. It will not run under OS/2. To invoke TESTEXT, type TESTEXT at the command line prompt. You can supply a single optional parameter, the extended memory size in kilobytes. Examples: >TESTEXT ;;; test all configured extended memory >TESTEXT 512 ;;; test 1st 512K of extended memory The rest is automatic. There is no way of returning direct- ly to DOS once TESTEXT is started. If your computer is equipped with a hardware reset button, you may use it to get out. Otherw- ise, hit the ESCape key and you will get the same result. In either case your system will perform a complete cold boot sequence. This restriction is intentional. Previous versions allowed keyboard exit back to DOS, but the risk was high. Many angry netmails about clobbered caches and disk drives, have convinced me that most individuals will ignore warnings about disabling disk cache and ram drives when testing. Be aware that for large extended memories it takes time to do a thorough test. In extreme cases TESTEXT may take up to 5 minutes to complete a single pass. Extended Memory Test for 80286/386/486, J.M.Cyr, October 1990 Comments/Suggestions ==================== You may address comments and suggestions to me (Jean Cyr) at Code Conjurers BBS (613-224-4480, or 224-9276) in Ottawa, or on Compuserve to Userid [76616,556]. Releases and Versions ===================== Release 3 Version 0 - First FreeWare release. Release 3 Version 1 - Code optimization, 30% speed improvement. - Keyboard initiated cold boot. Release 3 Version 2 - Fixes bug in memory size detection. Release 3 Version 3 - Turn off drive motor when loaded from floppy.