View Issue Details

IDProjectCategoryView StatusLast Update
0000010IDE Simulator[All Projects] Generalpublic2021-07-11 05:10
ReporterflynnsbitAssigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
Platformx86OSDOSOS Version7.1 / 6.22
Summary0000010: Hot disc swap in DOS isn't recognized until disconnecting, accessing the disk, then disk select
DescriptionUsing DOS 7.1 (Native DOS)
both MSCDEX and SHSUCDX.COM tested
OAKCDROM, VIDE, XCDROM.SYS all tested

Issue: Mount a CD, run DIR on that CD, Works.
run 'disk disconnect' on IDESim
then 'disk select new.iso' on IDESim
cd D: on dos machine
run 'dir' and it is still the old cd contents

same process, run 'disk disconnect' on IDESim, then on DOS machine run 'd:' and run a 'dir', let it fail (abort)
then on IDESim 'disk select new.iso' and everything works as expected.


Steps To ReproduceSo steps:
DOS native
select a disc
read the disc in dos, dir is fine
select a new disc
read the disc. Is it the old disc or the new one?
'disk disconnect'
dir on mounted directory (D:)
dos errors, Abort or Fail
'disk select newiso.iso'
dir on d: and new disk is mounted and works.
Additional InformationUsing DOS 7.1 (Native DOS)
both MSCDEX and SHSUCDX.COM tested
OAKCDROM, VIDE, XCDROM.SYS all tested

Issue: Mount a CD, run DIR on that CD, Works.
run 'disk disconnect' on IDESim
then 'disk select new.iso' on IDESim
cd D: on dos machine
run 'dir' and it is still the old cd contents

same process, run 'disk disconnect' on IDESim, then on DOS machine run 'd:' and run a 'dir', let it fail (abort)
then on IDESim 'disk select new.iso' and everything works as expected.

I have to do this each time I want to hot swap cds
TagsNo tags attached.

Activities

smoobandit

2021-06-23 13:25

reporter   ~0000078

flynnsbit: is it better if you run "disk remove" rather than "disk disconnect"?
Mine is mostly working fine with DOS 6.22. It sometimes takes 5s or so for the OS to realise that the contents have changed.

colin

2021-06-24 06:45

administrator   ~0000080

I suspect the 'media changed' error isn't getting reported, so depending on the driver (and host OS, since some just ping) it may or may not seem fine. Hopefully I'll be able to get it fixed this weekend.

colin

2021-06-25 17:36

administrator   ~0000081

Please try this firmware, which seems to make OAKCDROM.SYS behave much more nicely, and hopefully will also do so for its friends.

dos-mediachange.fw (273,664 bytes)

flynnsbit

2021-07-01 00:45

reporter   ~0000089

OAKCDROM.SYS does seem to work well. No need for disconnect or removal and the cd swap is working properly.
The new version does have a different issue with XCDROM.SYS where the initial boot with a cd attached works well
 but when you try to swap you will always get Abort, Retry, Fail no matter what until the next reboot.

No combination of swapping, removing, disconnecting will fix it.

I will run through the other few drivers I have setup to test but all good on the OAKCDROM.SYS front.

colin

2021-07-06 17:12

administrator   ~0000091

@drfunkenstein2k: I've e-mailed you. Also making your comment private so spambots don't come across your e-mail address

colin

2021-07-11 01:26

administrator   ~0000092

Having debugged it a little, it looks like XCDROM.SYS just has an odd behaviour - MMC-2 ATAPI Implementation Notes (document number 97-118R0) indicates that when an error occurs ('disk changed' counts as such an error) the device should go into CHECK CONDITION for that error until cleared by a REQUEST SENSE (which OAKCDROM.SYS and Windows 95's built in ATAPI driver both do). Instead, XCDROM.SYS just blindly retries the command.

I assume some drives clear transient conditions like "disk changed", so it probably works on such devices. The implementation note doesn't actually mention auto-clearing CHECK CONDITIONs, but there might be something I missed in the main specification. I'll try tweaking it to auto-reset but I'm not too worried since it seems to be contrary to the actual spec.

flynnsbit

2021-07-11 05:10

reporter   ~0000093

Yeah, that makes sense. My intent was more informational on the XCDROM.SYS in case someone brought it up. At this point anyone should be using OAKCDROM.SYS for their retro setups and the IDE Simulator. I tested it on my 386SX, 486DX, and my K6 build. No issues.

Issue History

Date Modified Username Field Change
2021-06-21 17:55 flynnsbit New Issue
2021-06-23 13:25 smoobandit Note Added: 0000078
2021-06-24 06:45 colin Note Added: 0000080
2021-06-25 17:36 colin File Added: dos-mediachange.fw
2021-06-25 17:36 colin Note Added: 0000081
2021-07-01 00:45 flynnsbit Note Added: 0000089
2021-07-06 17:12 colin Note Added: 0000091
2021-07-11 01:26 colin Note Added: 0000092
2021-07-11 05:10 flynnsbit Note Added: 0000093