v1.0: Released 8 March 1997. v1.1: Released 11 March 1997. Added options 'V', 'M', 'P', 'Z' Cleaned up the code Updated docs and some misc stuff v1.2: Released 13 March 1997. Removed int 3's I forgot to remove before compiling :) Updated docs Uses integer calc if no FPU available Added check for too small TESTFILE.Q32 Improved timer routine v1.3: Released 24 March 1997. Added test size check (must be <4GB) Error level 1 means 'Compare failed' 80x25 mode isn't restored before comparing when 'V' used ('!' is displayed if numbers are not in order in video mem) v1.4: Released 16 April 1997 The data is verified before quick sorting it TSC supported for more precise timings (most 586+-family CPU's have it) Shows info about CPU if CPUID is available Little speedup (2%) :) (at least with Cyrix 6x86) Shows current privilege level (CPL) Shows amount of Memory IO of total execution time and MIPS-value Modified docs v1.5: Released 5 May 1997 Added support for Pentium Pro CPUs for option 'C' (use 'X') Added CPU, FPU and memory benchmarking program, Safbench v2.0: Released 23 May 1997 Modified Safbench's memory speed tests, now gives better results because of simplifications and more loop unrolling Safbench tests 4 MB moves.. ;) Timing routine enhanced in Qsort, now grabs the interrupt vector and performs timings on it's own: more stabile results and less overhead when a timer interrupt occurs (means: better results) Added VBE 2.0+ linear framebuffer mode speed test (write and copy), it tests every supported mode which has LFB support and also displays Hz-rate in that particular mode (option 'V') Enhanced Safbench.TXT v2.01: Released 26 May 1997 VESA mode info stuff in Safbench corrected, now uses 32bit pointer to search the supported video modes (with S3VBE20 everything worked OK, but not with UniVbe, because it puts the video modes in different segment than current ES :) Sorry!) Option 'W' in Qsort32 waits one second before starting the sort (Actually this was in v2.0) v2.10: Released Friday the 13th!!! June 1997 Since now, S: means changes in Safbench and Q: in Qsort32 S: Added Pentium II and AMD K6 test results (Thanks, Teppo Oranne!) (I still need 'qsort32 1000' and 'safbench m' results for 'em!) S: Displays BUS speed (MHz), multiplier, MHz-rate of your CPU and main mem read/write speed (option 'B' for Pentiums and 'P' for PPros and compatibles) (Thanks, Joni Moilanen, for testing 'B'!) S: Move speed tests (seq. and reverse) modified, now it first moves from the beginning of the buffer to the middle of the buffer, then from the middle of the buffer to the beginning of the buffer. Why? Because half of the data would not be read otherwise, only written to. And only half of the data written to... S: In mem speed tests, data is read/written/moved TWICE before the REAL testing begins to flush caches better (or something). This gives better seq. read speeds for Cyrix 6x86 CPUs with block size of 16 kB (yep, caching IS strange sometimes...) S: Added option 'F', uses FPU to copy/write data in 64bit chunks. Use with Pentiums (or any processor which doesn't support write gathering/combining and has (quite) fast FPU). Might also improve copy speeds in video test. S: Corrected Cyrix 6x86 results (something changed in v2.0 :) ) S: Corrected Pentium results. Actually, I'd like to receive results also for Pentium Pro and Intel 486 processors ('Safbench > res.txt') S: You can specify video mode with F:xxxx or V:xxxx, where xxxx is a hexadecimal number between 0 and FFFF (for example V:105, F:221). S: 'I' shows VESA version, modes and info, PCI version and video mem size S: 'S' displays every testable VESA mode S: 'W' waits one second after mode set (in previous versions there was ALWAYS that delay) S: For option 'M', avg. speed is displayed (for some reason, I left it out in Safbench v1.2 ;) ) Q: MHz-rate can be specified with 'T' (usage: T:200, T=150, T=233.333) Max three decimals can be specified (T:166.666, T=187.5 etc) Q: Uses event 62h to calculate BUS-utilization for option 'X'. It's "External Bus Cycles - DRDY Asserted (busy)" S: Memory speed test accessing is now 64bit (qword) -aligned -: CHKMD5.BAT tests MD5-sums (MD5SUM-program needed) -: MAKERES.BAT, MAKERES1.BAT (for Pentiums), MAKERES2.BAT (for PPros) These batches make RESULTS.$ file v2.11: Released 24 June 1997 S: 'C' checks L2 cache speed and cycle stuffs (use _WITH_ 'B' or 'P'!) v2.12: Released 4 July 1997 S: 266.666666 MHz assumed instead of 266.0 MHz for option '5' and 33.333333 instead of 33.0 for option '1' S+Q: Added new K6 and M1 results (Thanks, Olli Maksimainen!) S+Q: Uses Windows' 'Begin critical section' and 'End critical section' to get better timings (it prevents task switch from occurring) S+Q: Sets up Application title in Windows95 S: 'M' now tests also Random accessing S: 'R' tests ONLY Random accessing (needs 8200 kB) S: Added results for Random accessing and some Video speed values -: Added ADSON.COM and ADSOFF.COM (see ADS.TXT) v2.13: Released 6 July 1997 S: Version numbering for Safbench follows Qsort32 S: Modified Mixed test in Random accessing, now it is more complete Also, in previous version, the reported result for Mixed test was 20% too high S: '!' tests 31 different block sizes for Random accessing (default:13) Use with 'M' or 'R' S+Q: Added more K6 and M1 results **************************************************************** * Please send me results of your Pentium MMX, PPro, PII and * * Cyrix 6x86MX! Use MAKERES1.BAT for Pentium/Pentium MMX and * * MAKERES2.BAT for Pentium Pro/Pentium II and MAKERES.BAT for * * other CPUs! Also Intel 486DX results needed. * ****************************************************************