|Back to Top||Last Update : Thursday, 31-May-2007 09:29:14 中國標準時間|
|QCDROM V4.2 - DOS UltraDMA CDROM Driver||QCDROM42.ZIP (8.6 Kb)|
With many thanks to Jack, he email me about the latest bug found on the
With regret, there are problems with the QHIMEM, QCACHE/QDMA, and QCDROM drivers.
QHIMEM returns a zero error-code in the BL-reg. on successful XMS requests. It is NOT clear in the V3.0 XMS Specs that one cannot do this. The de-facto standard expected by a few programs is to handle this as Gates & Co. did in HIMEM.SYS and AVOID setting the BL-reg. for no XMS error. If using such programs, e.g. I_CACHE, QHIMEM may cause failures.
QCACHE/QDMA/QCDROM all use XMS memory to handle I-O requests that have user buffers "misaligned" for UltraDMA. But, they must use an XMS data "move", which requires giving the XMS manager the I-O buffer address in segment:offset form. Most XMS managers merely convert the address to a 20-bit value, which does NOT work if the segment denotes memory "mapped" by EMM386 and other EMS managers, e.g. a buffer address of D000:0000h may NOT represent memory at a 32-bit address of 000D0000h!
You're warned NOT TO USE the Q-drivers on daily operation until you make sure your own configurations was tested and they worked without any problem.
What is QCDROM?
QCDROM is a DOS driver for ATAPI-standard CD-ROM and DVD drives attached to normal PC system IDE channels. It does NOT run SCSI units, serial-ATA, nor "add-on" cards.
Because most DOS CD-ROM driver programs were never updated to use UltraDMA! They still do only "PIO mode" input. This limits CD-ROM drives to between 2 and 10 MB/sec data transfers.
QCDROM can run up to three CD-ROM or DVD drives. It handles both data and "audio" disks. With new UltraDMA drives, QCDROM does data input at speeds up to 66 MB/sec.! QCDROM can also be used on older systems with a regular IDE controller (no UltraDMA). It also runs non-UltraDMA ATAPI drives using "PIO mode" data input.
If the V3.2+ QDMA hard-disk driver is used, QCDROM will "share" QDMA's XMS buffers. This avoids "PIO mode" on CD/DVD input requests that cannot use UltraDMA. QCDROM can now set its own XMS buffers if QDMA is not present. XMS also allows QCDROM to be loaded and run in UMBPCI upper-memory! This saves low-memory space for user programs!
QCDROM has advanced features such as a local-stack, load-time 80386+ check, and user switch options. It requires 2304 bytes of memory and has a 4K object-file size. V2.9+ QCDROM is revised to "match" the simplified V3.2+ QDMA driver and avoid much unneeded logic.
See the README.TXT file for full information, configuration examples, and optimization tips.
** Notes **
Due to incessant, unfavorable posts on FreeDOS forums, this driver is PROHIBITED from use with FreeDOS and will now ABORT if loaded in that system. Using this driver in all other DOS systems (MS-DOS, EDR-DOS etc.) is still supported and is unaffected.
Due to unrepentant "hacking" of these drivers by Czech and Russian users, and unauthorized distribution by German and other users, their source files have been erased and there will be NO further upgrades to QHIMEM, QCACHE, nor QCDROM.
The author regrets having to take this action but WILL NOT condone these drivers being stolen by DISHONORABLE people!