joncampbell123 / dosbox-x

DOSBox-X fork of the DOSBox project
GNU General Public License v2.0
2.75k stars 381 forks source link

CD-Rom swapping doesn't select next CD under Windows 98 #3192

Open sztupy opened 2 years ago

sztupy commented 2 years ago

Code of Conduct & Contributing Guidelines

Have you checked that no other similar bug report(s) already exists?

What operating system(s) this bug have occurred on?

macOS Big Sur / M1

What version(s) of DOSBox-X have this bug?

0.83.20

Describe the bug

Pressing HOST+D doesn't swap the drives under Windows 98. It does work before booting into Windows 98 though

Expected behavior

I have the following setup to mount multiple CDs:

IMGMOUNT D CD_1.ISO CD_2.ISO CD_3.ISO -t iso -fs iso -ide 2m

When I am still in DOS mode I can use HOST+D to switch between the three CDs, and when I check under D: they rotate as expected. Checking the logs I can see that the next image is selected:

Host key down
LOG: Drive D: disk 2 of 3 now active
LOG: Diskcaching reset for normal mounted drives.
LOG: IDE ATAPI acknowledge media change for drive D
Host key up
LOG: ATAPI CD-ROM: insert CD to loading
LOG: ATAPI CD-ROM: spinup complete

Steps to reproduce the behaviour

However after I use BOOT C: to start Windows 98 whenever I press HOST+D the CD will spin down, but then the same image will be mounted again. There is no indication in the logs anymore that the CDs have been swapped:

Host key down
LOG: Diskcaching reset for normal mounted drives.
LOG: IDE ATAPI acknowledge media change for drive D
Host key up
HostKey
LOG: ATAPI CD-ROM: insert CD to loading
LOG: ATAPI CD-ROM: spinup complete
LOG: ATAPI CD-ROM: spinning down

As shown above LOG: Drive D: disk 2 of 3 now active is missing, and when I check the drive it still has the first CD available. The CD does gets unmounted / remounted, and there is a 4 second delay as per configuration.

(I tried using both the F12 key as the HOST key as well as the HostKey button on the TouchBar)

Used configuration

https://dosbox-x.com/wiki/Guide%3AInstalling-Windows-98

Emulator log

No response

Additional context

No response

sztupy commented 2 years ago

Some notes:

  1. Not adding -ide 2m to the mount command will make the CD drive unavailable under Windows completely
  2. Swapping stops working (based on the logs) imediately after saying BOOT C: It only works still in DOS mode
Wengier commented 2 years ago

Does it work if you select the “Change current CD image” menu option?

sztupy commented 2 years ago

Same effect. CD gets ejected, but then 4 seconds later the same image gets mounted again, not the next