VOGONS


How to mount multiple CD images with SHSUCD?

Topic actions

First post, by DustyShinigami

User metadata
Rank l33t
Rank
l33t

Has anyone had any luck at mounting multiple CD images with SHSUCD? So each disc loads as and when a game needs it?

I’m struggling to figure out how it can be done, especially with Under a Killing Moon. Mounting the first to load the game up is never a problem, but when starting a new game it will ask for disc 2.

The creator of SHSUCD - Jason Hood - thought it was written out like this:

SHSUCDHD /F:game1.iso /F:game2.iso
SHSUCDX /D:SHSU-CDH,E

In my case the directory of the CDs are in E:\DOS\MOON\CD1\DISK1.ISO and the other discs in CD2, CD3 etc. However, adding the directories for the other discs doesn’t work; it still asks for disc 2. I’ve also tried adding the same command four times for each disc, but if SHSUCD has already been installed/loaded, it will complain and say so.

The game’s settings does have an option for assigning multiple CD drives, but it only lists G (my physical) and H (my image drive). So it’s not like I can assign I, J, K etc.

Thanks

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
Sound Card: Sound Blaster Live Value CT4670

Reply 1 of 25, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

Give fully qualified paths.

Reply 2 of 25, by DustyShinigami

User metadata
Rank l33t
Rank
l33t
wierd_w wrote on 2026-04-25, 19:41:

Give fully qualified paths.

How do you mean exactly?

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
Sound Card: Sound Blaster Live Value CT4670

Reply 3 of 25, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie
DustyShinigami wrote on 2026-04-25, 20:00:
wierd_w wrote on 2026-04-25, 19:41:

Give fully qualified paths.

How do you mean exactly?

Instead of using a relative path for the ISO file's location, use a fully qualified one.

EG:

LH SHSUCDHD /F:C:\ISO\CD1.ISO /F:C:\ISO\CD2.ISO

In order to use the short, relative path, like you were using, you will need to make sure one of the following is true:

[SHSUCDHD is in the PATH statement]
If SHSUCDHD is in the path statement, make sure that you have changed the working directory to where the ISOs are stored first.
eg:

CD C:\ISO
LH SHSUCDHD /F:CD1.ISO /F:CD2.ISO

[If SHSUCDHD is NOT in the PATH statement]
You will need to give the fully qualified location of SHSUCDHD, after changing the working directory to where the ISOs are stored.
eg:

CD C:\ISO
LH C:\DRIVERS\SHSUCD\SHSUCDHD /F:CD1.ISO /F:CD2.ISO

If you DO NOT change the working directory to where the ISOs are stored, you need to give the fully qualified path to where the ISOs are stored. The reason, is because SHSUCDHD has no idea where those are stored, and if you give a relative path, that relative path is derived from whatever the current working directory is. If you had changed the working directory to some other location first (say, VSBHDA's, so that you can load the soundfont more easily), then SHSUCDHD will be looking in THAT location instead. Will not find the ISO files there, and will error.

If you need to load an epic shitton of ISO images, and are fighting the 255 character commandline limit, it makes sense to use relative paths on the invocation, and to make sure that the program is in the path so that DOS can find it. Otherwise, it's safer and saner to just give SHSUCDHD the fully qualified path of where the .ISO file you want load is located. It will always know EXACTLY where to look that way, no matter under what working context it is called under.

Reply 4 of 25, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

When fed multiple ISOs, SHSUCDHD acts like a multidisc changer, and creates LUNs for each one under a single device driver identifier. MSCDEX and SHSUCDX have direct support for this, and will assign multiple letters accordingly.

Reply 5 of 25, by NeoG_

User metadata
Rank Oldbie
Rank
Oldbie

After SHSUCDX has run but before trying to install the game, do you have a drive letter for each disc image? According to the docs it should at least warn you if one of the images is invalid unless you prefix the image with a question mark

98/DOS Rig: BabyAT AladdinV, K6-2+/550, V3 2000, 128MB PC100, 20GB HDD, 128GB SD2IDE, SB Live!, SB16-SCSI, PicoGUS, WP32 McCake, iNFRA CD, ZIP100
XP Rig: Lian Li PC-10 ATX, Gigabyte X38-DQ6, Core2Duo E6850, ATi HD5870, 2GB DDR2, 2TB HDD, X-Fi XtremeGamer

Reply 6 of 25, by DustyShinigami

User metadata
Rank l33t
Rank
l33t
wierd_w wrote on 2026-04-26, 04:22:
Instead of using a relative path for the ISO file's location, use a fully qualified one. […]
Show full quote
DustyShinigami wrote on 2026-04-25, 20:00:
wierd_w wrote on 2026-04-25, 19:41:

Give fully qualified paths.

How do you mean exactly?

Instead of using a relative path for the ISO file's location, use a fully qualified one.

EG:

LH SHSUCDHD /F:C:\ISO\CD1.ISO /F:C:\ISO\CD2.ISO

In order to use the short, relative path, like you were using, you will need to make sure one of the following is true:

[SHSUCDHD is in the PATH statement]
If SHSUCDHD is in the path statement, make sure that you have changed the working directory to where the ISOs are stored first.
eg:

CD C:\ISO
LH SHSUCDHD /F:CD1.ISO /F:CD2.ISO

[If SHSUCDHD is NOT in the PATH statement]
You will need to give the fully qualified location of SHSUCDHD, after changing the working directory to where the ISOs are stored.
eg:

CD C:\ISO
LH C:\DRIVERS\SHSUCD\SHSUCDHD /F:CD1.ISO /F:CD2.ISO

If you DO NOT change the working directory to where the ISOs are stored, you need to give the fully qualified path to where the ISOs are stored. The reason, is because SHSUCDHD has no idea where those are stored, and if you give a relative path, that relative path is derived from whatever the current working directory is. If you had changed the working directory to some other location first (say, VSBHDA's, so that you can load the soundfont more easily), then SHSUCDHD will be looking in THAT location instead. Will not find the ISO files there, and will error.

If you need to load an epic shitton of ISO images, and are fighting the 255 character commandline limit, it makes sense to use relative paths on the invocation, and to make sure that the program is in the path so that DOS can find it. Otherwise, it's safer and saner to just give SHSUCDHD the fully qualified path of where the .ISO file you want load is located. It will always know EXACTLY where to look that way, no matter under what working context it is called under.

Sorry, I should've mentioned in my initial post. I didn't use a relative path like Jason Hood suggested. I set mine out something like this:

C:\DOSPRO\SHSUCD\SHSUCDHD /F:E:\DOS\MOON\CD1\DISK1.ISO /F:E:\DOS\MOON\CD2\DISK2.ISO etc etc

So surely, with that setup, I'm specifying and telling SHSUCD the exact location of each of the ISO files, no...? Or do I need to go back in the directory with 'CD...' to prevent it from continuing to try looking in the first directory again? Thanks.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
Sound Card: Sound Blaster Live Value CT4670

Reply 7 of 25, by DustyShinigami

User metadata
Rank l33t
Rank
l33t
NeoG_ wrote on 2026-04-26, 04:58:

After SHSUCDX has run but before trying to install the game, do you have a drive letter for each disc image? According to the docs it should at least warn you if one of the images is invalid unless you prefix the image with a question mark

At the moment, just the one. It's set up so it assigns G as the physical drive when booting into DOS. But before installing, I manually set up the virtual drive with the first disc image, which it assigns to H. Beyond that, I've not been able to figure out how to get multiple drives/images to mount.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
Sound Card: Sound Blaster Live Value CT4670

Reply 8 of 25, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

Again, SHSUCDHD emulates being a multidisc changer when fed multiple .iso files.

My ISO files contain redbook audio tracks, (ISO can in fact have this data!), which SHSUCDHD does not particularly like, but 'allows', thus these warnings)

Here are some images to illustrate this.

I have not properly sorted my .iso files out yet, but I have a few on my asus X401U anachrobox here.

The attachment 2026-04-26-06-28-35-904.jpg is no longer available

Since I dont have shsucd in my path, I change the directory context, then call SHSUCDHD with 2 .ISO files. In this case, both images for The 7th Guest.

SHSUCDHD always creates the same device driver name: SHSU-CDH.

The attachment 2026-04-26-06-29-42-932.jpg is no longer available

It creates a device with 2 LUNs.

Then I just feed the driver ID to SHSUCDX...

The attachment 2026-04-26-06-30-09-229.jpg is no longer available

... And get 2 drive letters.

Reply 9 of 25, by NeoG_

User metadata
Rank Oldbie
Rank
Oldbie

Do you have a LASTDRIVE=H in your config.sys? That will prevent the additional drives from appearing

98/DOS Rig: BabyAT AladdinV, K6-2+/550, V3 2000, 128MB PC100, 20GB HDD, 128GB SD2IDE, SB Live!, SB16-SCSI, PicoGUS, WP32 McCake, iNFRA CD, ZIP100
XP Rig: Lian Li PC-10 ATX, Gigabyte X38-DQ6, Core2Duo E6850, ATi HD5870, 2GB DDR2, 2TB HDD, X-Fi XtremeGamer

Reply 10 of 25, by DustyShinigami

User metadata
Rank l33t
Rank
l33t
NeoG_ wrote on 2026-04-26, 11:48:

Do you have a LASTDRIVE=H in your config.sys? That will prevent the additional drives from appearing

No, no. I set it to Z. At one point I did have it set to something and, I think, the virtual drive no longer appeared in Windows. So I set it back to Z again.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
Sound Card: Sound Blaster Live Value CT4670

Reply 11 of 25, by DustyShinigami

User metadata
Rank l33t
Rank
l33t
wierd_w wrote on 2026-04-26, 11:39:
Again, SHSUCDHD emulates being a multidisc changer when fed multiple .iso files. […]
Show full quote

Again, SHSUCDHD emulates being a multidisc changer when fed multiple .iso files.

My ISO files contain redbook audio tracks, (ISO can in fact have this data!), which SHSUCDHD does not particularly like, but 'allows', thus these warnings)

Here are some images to illustrate this.

I have not properly sorted my .iso files out yet, but I have a few on my asus X401U anachrobox here.

The attachment 2026-04-26-06-28-35-904.jpg is no longer available

Since I dont have shsucd in my path, I change the directory context, then call SHSUCDHD with 2 .ISO files. In this case, both images for The 7th Guest.

SHSUCDHD always creates the same device driver name: SHSU-CDH.

The attachment 2026-04-26-06-29-42-932.jpg is no longer available

It creates a device with 2 LUNs.

Then I just feed the driver ID to SHSUCDX...

The attachment 2026-04-26-06-30-09-229.jpg is no longer available

... And get 2 drive letters.

Thanks for this. I'll give this a try later and see what happens. 😀 What does LUNs mean exactly? One thing I did notice, which I haven't actually been doing, is that LH is at the beginning. Not sure if that makes a difference...?

ISOs can have redbook audio then? I didn't think it could. I thought that was a layer of data it couldn't do. So do those audio tracks play using SHSUCD in games?

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
Sound Card: Sound Blaster Live Value CT4670

Reply 12 of 25, by NeoG_

User metadata
Rank Oldbie
Rank
Oldbie
DustyShinigami wrote on 2026-04-26, 13:18:

No, no. I set it to Z. At one point I did have it set to something and, I think, the virtual drive no longer appeared in Windows. So I set it back to Z again.

Is SHSUCDHD reporting that it is creating two devices?

98/DOS Rig: BabyAT AladdinV, K6-2+/550, V3 2000, 128MB PC100, 20GB HDD, 128GB SD2IDE, SB Live!, SB16-SCSI, PicoGUS, WP32 McCake, iNFRA CD, ZIP100
XP Rig: Lian Li PC-10 ATX, Gigabyte X38-DQ6, Core2Duo E6850, ATi HD5870, 2GB DDR2, 2TB HDD, X-Fi XtremeGamer

Reply 13 of 25, by DustyShinigami

User metadata
Rank l33t
Rank
l33t
NeoG_ wrote on 2026-04-26, 13:30:
DustyShinigami wrote on 2026-04-26, 13:18:

No, no. I set it to Z. At one point I did have it set to something and, I think, the virtual drive no longer appeared in Windows. So I set it back to Z again.

Is SHSUCDHD reporting that it is creating two devices?

Each time I've tried, not really. I mean, it has when it sets up the physical drive and one virtual drive, but I've never managed to get it to create multiple virtual drives, one after the other.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
Sound Card: Sound Blaster Live Value CT4670

Reply 14 of 25, by NeoG_

User metadata
Rank Oldbie
Rank
Oldbie
DustyShinigami wrote on 2026-04-26, 13:50:

Each time I've tried, not really. I mean, it has when it sets up the physical drive and one virtual drive, but I've never managed to get it to create multiple virtual drives, one after the other.

That's kind of vague, what does it actually say when running SHSUCDHD?

98/DOS Rig: BabyAT AladdinV, K6-2+/550, V3 2000, 128MB PC100, 20GB HDD, 128GB SD2IDE, SB Live!, SB16-SCSI, PicoGUS, WP32 McCake, iNFRA CD, ZIP100
XP Rig: Lian Li PC-10 ATX, Gigabyte X38-DQ6, Core2Duo E6850, ATi HD5870, 2GB DDR2, 2TB HDD, X-Fi XtremeGamer

Reply 15 of 25, by DustyShinigami

User metadata
Rank l33t
Rank
l33t
NeoG_ wrote on 2026-04-26, 14:11:
DustyShinigami wrote on 2026-04-26, 13:50:

Each time I've tried, not really. I mean, it has when it sets up the physical drive and one virtual drive, but I've never managed to get it to create multiple virtual drives, one after the other.

That's kind of vague, what does it actually say when running SHSUCDHD?

Once I'm finished UV unwrapping a 3D asset, I'll have a play around with it and take pics of what it says.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
Sound Card: Sound Blaster Live Value CT4670

Reply 16 of 25, by DustyShinigami

User metadata
Rank l33t
Rank
l33t
NeoG_ wrote on 2026-04-26, 14:11:
DustyShinigami wrote on 2026-04-26, 13:50:

Each time I've tried, not really. I mean, it has when it sets up the physical drive and one virtual drive, but I've never managed to get it to create multiple virtual drives, one after the other.

That's kind of vague, what does it actually say when running SHSUCDHD?

Okay, turns out the directory I had set for the other discs was slightly wrong, which I've now fixed. They're being loaded, but it still only adds two drives - the physical (G) and one virtual (H). The images aren't being assigned to their own drives.

The attachment IMG_5480.JPG is no longer available
The attachment IMG_5481.JPG is no longer available
The attachment IMG_5483.JPG is no longer available
The attachment IMG_5484.JPG is no longer available

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
Sound Card: Sound Blaster Live Value CT4670

Reply 17 of 25, by NeoG_

User metadata
Rank Oldbie
Rank
Oldbie

OK so you will need to adjust your strategy somewhat to correctly mount and unmount images multiple times per reboot

  • Running "SHSUCDX /D:MSCD001" once at boot time in autoexec is fine
  • SHSUCDX needs to be unloaded to correctly run a new drive configration with "SHSUCDX /U" before running it again
  • You have set drive letter "E" which is an unavailable drive letter for the virtual CD, it may affect drive letter assignments
  • After running the game you need to reset SHSUCDHX and SHSUCDHD to remove the virtual images

So at the start of a game's batch file you will need

REM Replace physical drive with virtual drive
SHSUCDX /U
LH SHSUCDHD /F:E:\DOS\MOON\CD1\DISK1.ISO /F:E:\DOS\MOON\CD2\DISK2.ISO /F:E:\DOS\MOON\CD3\DISK3.ISO /F:E:\DOS\MOON\CD4\DISK4.ISO
LH SHSUCDX /D:SHSU-CDH,G

And after the game has run at the end of the batch file

REM Unload virtual CD drive and restore physical drive
SHSUCDX /U
SHSUCDHD /U
LH SHSUCDX /D:MSCD001,G

98/DOS Rig: BabyAT AladdinV, K6-2+/550, V3 2000, 128MB PC100, 20GB HDD, 128GB SD2IDE, SB Live!, SB16-SCSI, PicoGUS, WP32 McCake, iNFRA CD, ZIP100
XP Rig: Lian Li PC-10 ATX, Gigabyte X38-DQ6, Core2Duo E6850, ATi HD5870, 2GB DDR2, 2TB HDD, X-Fi XtremeGamer

Reply 18 of 25, by DustyShinigami

User metadata
Rank l33t
Rank
l33t
NeoG_ wrote on 2026-04-26, 22:45:
OK so you will need to adjust your strategy somewhat to correctly mount and unmount images multiple times per reboot […]
Show full quote

OK so you will need to adjust your strategy somewhat to correctly mount and unmount images multiple times per reboot

  • Running "SHSUCDX /D:MSCD001" once at boot time in autoexec is fine
  • SHSUCDX needs to be unloaded to correctly run a new drive configration with "SHSUCDX /U" before running it again
  • You have set drive letter "E" which is an unavailable drive letter for the virtual CD, it may affect drive letter assignments
  • After running the game you need to reset SHSUCDHX and SHSUCDHD to remove the virtual images

So at the start of a game's batch file you will need

REM Replace physical drive with virtual drive
SHSUCDX /U
LH SHSUCDHD /F:E:\DOS\MOON\CD1\DISK1.ISO /F:E:\DOS\MOON\CD2\DISK2.ISO /F:E:\DOS\MOON\CD3\DISK3.ISO /F:E:\DOS\MOON\CD4\DISK4.ISO
LH SHSUCDX /D:SHSU-CDH,G

And after the game has run at the end of the batch file

REM Unload virtual CD drive and restore physical drive
SHSUCDX /U
SHSUCDHD /U
LH SHSUCDX /D:MSCD001,G

Ahhhh. Y'know, this whole time, I thought that 'E' assignment was just a switch, but wasn't sure what it did. I just copied the initial setup from Jason Hood when I emailed him. I didn't realise it was the drive E. ^^;

But thanks for this. I'll give this a try sometime tomorrow and report back. 😀

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
Sound Card: Sound Blaster Live Value CT4670

Reply 19 of 25, by Harry Potter

User metadata
Rank Oldbie
Rank
Oldbie

DustyShinigami: Just an unrelated tip: when you run a batch file, DOS will automatically print out every line of the batch file it runs. You can disable this by adding "@echo off" to the beginning of the file. This will tell DOS to not display each line. DOS will reset this at the end of the batch file or when a new batch file starts. Putting @ at the beginning of a line will tell DOS not to display just that line.

Joseph Rose, a.k.a. Harry Potter
Working magic in the computer community