Back to Top Last Update : Thursday, 02-Aug-2012 19:50:09 HKT

SHSUCDX V3.03F CD-ROM Redirector SHCDX33F.ZIP (36.8 Kb)
Background

SHSUCDX - A CD-ROM driver replacement of MSCDEX coded by John H. McCoy (up to version 1.4) and then improved by Jason Hood until version 3.02.

SHSUCDX V3.02 was released on 2005-05-05. Some users (such as I) downloaded it and tried to replace the old version, thinking it SHOULD be better. Some developers tried to change the source code to suit their needs (usually deleting text to save a few bytes), but this is where their problems began...

On 2005-05-15, Mr. Jack Ellis e-mailed me and suggested the latest version might have a potential problem, and he considered it was NOT perfectly reliable. On 2005-05-17 another developer, Robert Riebisch (BTTR Software), also reported to the FreeDOS mailing list that he had failed to compile it without errors.

I posted Jack's comment on the FreeDOS mailing list and started a discussion on this topic (Eric Auer helped to analyse the source code in detail). I tried to e-mail Mr. Jason Hood and forward the developer's message, but he may have misunderstood my fractured English; on 2005-05-21, he politely refused to make changes because he thought the problem was not caused by his code, but was related to a bug in NASM.

Since Jason was not likely to change the source code, Jack Ellis ("I need something that WORKS!") decided to work around the NASM error and clean up the SHSUCDX V3.00 source. He did it in the afternoon of 2005-05-22, and made some more changes in the next few days; thus Jack's "SHSUCDX V3.00A" was born. Since this version worked fine, he later decided to clean up V3.02 also, so other developers could make changes and improvements to it. Thanks to his HARD WORK, SHSUCDX V3.02A and its successors became available.

Thanks to Jason Hood for providing a link to this page, regarding this version as an "alternative" to his work.

Though Jack tried his best to avoid bugs, thousands of different machines out there may cause unpredictable problems.

Please e-mail me if you have questions and problems; you can contact me through my online e-mail system, located on my main page's toolbar. Thanks!

Here are some comments on SHCDX32B.ASM (which also apply to SHCDX33E or 3.03E):

SHCDX32B -- "SHSUCDX V3.02B" by Jack R. Ellis, 29-May-2005.
Derived from V3.02 SHSUCDX by Jason Hood, as follows:
A All 80386 logic is deleted (not necessary with today's quick CPUs!)
B All old "code" macros are removed so V3.02B is simple assembly code
C All 2-byte "jmp" commands are forced to "short" with the suffix "s"
D The macro "jccl" is added, for "jmp" commands which cannot be short
E All 8-bit constants which require it are tagged "byte"
F The latter 3 items (C thru E) avoid needing a NASM -Ox switch. V3.02B assembles fully "optimized", with 16-bit or 32-bit NASM, by specifying only:
 NASM -o SHCDX32B.COM -l SHCDX32B.LST SHCDX32B.ASM
G Minor size improvements (smaller messages) have been made

I've tested it on an old Pentium II; when loaded high, it consumes only about 6K! It's really the best optimization I've ever seen!

Revision History (Descending)
V3.03F2012-08-02 SHCDX33F directory or non-directory input flagged, for directory-only caching using UDVD2 or UIDE (saves cache space for disks).
V3.03E2009-07-09 SHCDX33E /I switch added, per user request.
V3.03D2009-06-01 SHCDX33D drive not-ready stack ERROR fixed.
V3.03C2006-11-09 SHCDX33C stack increased to 534 bytes. The author is DISGUSTED at having to add this change, but BAD drivers and BIOS programs that use too much stack still DO exist!
V3.03B2006-10-20 SHCDX33B corrected to display "No Drives Assigned" properly.
V3.03A2005-12-26 Added equivalent memory-error correction from Jason Hood's V3.03 SHSUCDX. Thanks, Jason!
V3.02D2005-12-19 Tables and buffers 32-bit aligned for UltraDMA.
V3.02C2005-06-29 NO inline code-mods, /QQ /V omitted, smaller.
V3.02B2005-05-29 Option message fixed, Help message shortened
V3.02A2005-05-28 Initial release
V3.00A2005-05-25 Final release
V3.00A-beta2005-05-22 Test version, not released