View Issue Details

IDProjectCategoryView StatusLast Update
0000012IDE Simulator[All Projects] Generalpublic2021-09-05 17:23
ReporterastigmatismAssigned To 
PrioritynormalSeveritymajorReproducibilitysometimes
Status newResolutionopen 
Summary0000012: Cannot read CD-ROM directory contents regularly in DOS 6.22 or Windows 3.11
DescriptionPlatform:
ESC P5GX-m, Cyrix Media GX 266MHz, 64MB RAM. DOS 6.22/Windows 3.11 for Workgroups
OAKCDROM.SYS, MSCDEX 3.32
firmware: "dos-refactor-fix" (6-18-2021)

Browsing CD-ROM content in File Manager (Windows 3.11) will frequently throw this OS error message:

"Error Reading Directory"
There is no disk in drive D
Insert a disk, and then try again
Retry, Cancel

Clicking "Retry" once or twice and the content will usually appear normally.

Other times this issue seems to manifest itself by displaying empty directory contents in File Manager but when browsing to other folders and returning back all file contents will then be displayed.

This error message is also present during Windows 3.11 gameplay if the game requires frequent CD-ROM access (I tested King's Quest 6). A similar dialog will appear overtop of the game indicating files could not be read. As you can imagine, this makes games like this unplayable.

I've had similar read issues with games in DOS 6.22, namely Albion, when the game will crash and its error.log will contain something like this:

BBDOS Library: DOS_setcurrentdir: unknown error - FILENAME: D:\ALBION - DATA: 0 - OSERROR: 1
Xload: File foes not exist.

I attempted to rectify this issue with the following without success:
Multiple IDE cables, multiple high-speed USB media, multiple dumps of the aforementioned games (in both ISO and BIN/CUE formats)

I have included the final lines "monitor" below after one of these errors occurs.

If it is possible to share the disk images I am using to create these issues, let me know how to share them.

Finally, I absolutely love this product and thank you Colin for all your great efforts to get this going with the MS-DOS community. I certainly want to help make this device the best it can be :)


Additional InformationFinal lines of monitor:

PACKET: SCSI: READ (10): address=00 00 00 12 size=00 00
Finish: SCSI
PACKET: SCSI: READ (10): address=00 00 00 12 size=00 01
Finish: SCSI
PACKET: SCSI: TEST UNIT READY
Finish: SCSI
PACKET: SCSI: READ (10): address=00 00 00 14 size=00 01
PACKET: SCSI: TEST UNIT READY
Finish: SCSI
PACKET: SCSI: TEST UNIT READY
Finish: SCSI
PACKET: SCSI: TEST UNIT READY
Finish: SCSI
PACKET: SCSI: READ (10): address=00 00 00 14 size=00 01
PACKET: SCSI: TEST UNIT READY
Finish: SCSI
PACKET: SCSI: TEST UNIT READY
Finish: SCSI
PACKET: SCSI: READ (10): address=00 00 00 14 size=00 01
Finish: SCSI
PACKET: SCSI: TEST UNIT READY
Finish: SCSI
TagsNo tags attached.

Activities

astigmatism

2021-09-05 06:13

reporter   ~0000097

It occurred to me just after posting that I might try reenabling SMARTDRV in DOS 6.22. I don't normally use it but thought this issue could be related to disk caching. Any thoughts on this? I will be testing configurations.

colin

2021-09-05 06:24

administrator   ~0000098

SMARTDRV could do something as it's a TSR that sits handling interrupts just like the other drivers, but I can't imagine it does much for CD drivers themselves.

The interesting things in the log are that it looks like the host machine isn't getting the notification that the pages are available to read (e.g. they do a READ, then TEST UNIT READY like they've decided the drive wasn't done, but the drive was probably waiting for them to do the transfer). There's hopefully a simple hardware reason for it to not have realised.

How is the drive connected to the PC? Super I/O or is that machine new enough to have onboard IDE on the motherboard?

astigmatism

2021-09-05 17:23

reporter   ~0000099

This board includes an on-board IDE controller with the interface properties taken from the simulator listed below. Also important to add is that the issue described was not experienced using a traditional CD-ROM drive with the original disks.

IDE interface: interrupt idle
        Config: Master (selected: YES)
        Feature Register: 00
        Error Register: 00
        Status Register: 50 DSC DRDY
        Sector Count Register: 03
        Sector Number Register/LBA1: 00
        Cylinder Low Register/LBA2: 00
        Cylinder High Register/LBA3: 08
        Command Register: A0 (PACKET)
        Event Register: 08 INTERRUPT_REQUEST
        DMA Mode: 00
        DMA/PIO base address: 0432
        DMA/PIO length: 0000

Issue History

Date Modified Username Field Change
2021-09-05 05:39 astigmatism New Issue
2021-09-05 06:13 astigmatism Note Added: 0000097
2021-09-05 06:24 colin Note Added: 0000098
2021-09-05 17:23 astigmatism Note Added: 0000099