VOGONS

Common searches


First post, by Kurt Lang

User metadata
Rank Newbie
Rank
Newbie

First, you need to be using the "DOSBox Preferences" file placed in your Preferences folder.

Next, you need the label name of the CD you want to use.

1) Place the CD in your drive and wait for it to mount in OS X.

2) Open the Terminal application and type:

ls /Volumes

The Terminal will show a list of all mounted volume names. You'll see a list of all of your mounted hard drives and the CD currently in the drive. Highlight the name and press Command+C.

You can also skip the whole Terminal thing and simply highlight the CD icon on the desktop and press Command+C to copy the CD-ROM label name.

3) Open the "DOSBox Preferences" file in TextEdit. In the [autoexec] section at the bottom, enter the line:

mount D /Volumes/PM30PS11 -t cdrom -usecd 0 -label PM30PS11

In this case, the CD I had in the drive had a label name of PM30PS11. So you would change that portion of the mount command according to whatever CD you have in the drive. If there's a space in the name of the CD label, you'll need to use quotes. So it would be something like:

mount D "/Volumes/Kings Quest" -t cdrom -usecd 0 -label Kings Quest

Using this method, I can mount any real CD as drive D:. The only nuisance is that you need to keep altering the "DOSBox Preferences" mount command for drive D each time you put in a different CD. But it works.

Reply 1 of 18, by darkgamorck

User metadata
Rank Member
Rank
Member

Try it with a CD that has audio and data tracks. That technique will fail miserably. However your technique will work well for a CD with nothing more than a data track. Frankly I don't bother with real CDs anymore and just mount CD images (iso/bin&cue) using DOSBox's imgmount utility.

Reply 3 of 18, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

mount D "/Volumes/Kings Quest" -t cdrom -usecd 0 -label Kings Quest

I think you forget another set of quotes when you wrote that Kurt. Shouldn't it be:

mount D "/Volumes/Kings Quest" -t cdrom -usecd 0 -label "Kings Quest"

I would even guess that the label should be all UPPERCASE.

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 4 of 18, by IIGS_User

User metadata
Rank Oldbie
Rank
Oldbie
MiniMax wrote:

I would even guess that the label should be all UPPERCASE.

... and shouldn't hold more than 11 characters, I assume?

The initially way of instructions became interesting if Mac users could get the name of the ISO partition of an Hybrid CD this way (which contains Mac/DOS partitions) which is not given. Since most "old" Mac games shipped on such CDs can't be run on modern machines, it would be interested to run the PC partitiion in DOSBox now (or even use some Old-Mac emulators like Basilisk or SheepShaver).

But to try to mount the PC part of a Hybrid CDs will fail, because it seems DOSBox only see the partitions mounted in MacOS X, while the PC partition of such a CD is hidden there. Well, Virtual PC is able to read the PC part of a Hybrid CD, there must be a way for DOSBox to do so, too, if a crack person is able to patch the DOSBox.

Or is there another way to mount the PC part of a Hybrid CD on MacOS X, maybe another software that can handle it?

Klimawandel.

Reply 5 of 18, by IIGS_User

User metadata
Rank Oldbie
Rank
Oldbie

First of all, i googled and found the solution here:

Mount both the iso9660 _and_ HFS partitions of a hybrid CD

For short, open the Terminal app and enter the command

diskutil list

This will list all mounted volumes (quiote copied from the link above):

% diskutil list ... (extra results ommitted) ... /dev/disk2 #: type name size identifier 0: CD_partition_scheme Audio CD *29.9 M […]
Show full quote

% diskutil list
... (extra results ommitted) ...
/dev/disk2
#: type name size identifier
0: CD_partition_scheme Audio CD *29.9 MB disk2
1: Audio CD 29.9 MB disk2
2: Apple_partition_scheme 294.7 MB disk2s1
3: Apple_partition_map 1024.0 B disk2s1s1
4: CD_DA 29.9 MB disk2s2
5: Apple_HFS EarthLink 165.5 MB disk2s1s2

The author of the thread commented the lines above with:

(at this stage, I knew that the cd was disk2 and that I needed to mount the "Apple_partition_scheme"
identifier)

We see, the volume number of the cd is 2 (dev/disk2).

In the Terminal, type in:

mkdir /Volumes/ISO

At this point, DOSBox is able to mount this volume called "iso" when you enter the command
"mount d /volumes/iso" -t cdrom" in DOSBox.
'Dir' it and you'll see an empty drive for now.
In the Terminal.app, type in:

mount -t "cd9660" -o "nodev,nosuid,read_only" /dev/disk2s1 /Volumes/ISO

I think, we're familiar with the mount command, we're not?

disktool -r

disktool -r will refreshing Disk Arbitration, I'm not sure if required.

Finally, in the Terminal type in:

open /Volumes/ISO

This will show the ISO partition of the CD to the MacOS Finder application, I'm not sure if it is required to be recognized by DOSBox.
From here DOSBox should be able to handle it.
Now, in DOSBox, if you type in

mount d /volumes/iso

you'll see the PC content of a Hybrid PC/Mac CD ROM in DOSBox.

Attachments

  • terminalresult.png
    Filename
    terminalresult.png
    File size
    11.48 KiB
    Views
    1773 views
    File comment
    entering the command lines...
    File license
    Fair use/fair dealing exception
  • dosboxview.png
    Filename
    dosboxview.png
    File size
    9.54 KiB
    Views
    1773 views
    File comment
    This is the PC content of the Hybric CD "SimCity 2000 CD Collection", viewed in DOSBox. I never seen those parts on MacOS X before...
    File license
    Fair use/fair dealing exception

Klimawandel.

Reply 6 of 18, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

You mistyped the nosuid (no set-user-id) option as 'nosuit' 😀 Since you didn't get an error message, I guess the mount_cd9660 utility simply ignored the unknown option, in which case I think you can omit it all together.

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 7 of 18, by Kurt Lang

User metadata
Rank Newbie
Rank
Newbie

Forgot to mention, although I imagine you've already figured it out. The disk must be mounted on the OS X desktop before you launch DosBox, or it won't see the disk.

Try it with a CD that has audio and data tracks. That technique will fail miserably.

Actually, it doesn't. One disk I was testing with was King's Quest 6. When you put it in the drive, it shows up as two volumes on the OS X desktop. "VOLUME_ID" and "Audio CD". You simply ignore the audio volume and use the other volume name for your label name in DosBox. It installed and ran perfectly. All sounds and speech working.

Shouldn't it be:

Yes, you're likely right. The final reference to the label name would have to be in quotes also.

That wasn't a good example on my part for a label with a space in it. The label name will probably always by in capital letters and unlikely to have a space in it on a DOS disk in the first place. Also as mentioned above, it would never exceed 11 characters. I was surprised though that the audio label on King's Quest 6 did indeed have lower case letters. Probably because DOS would ignore that information and only use "VOLUME_ID".

Reply 8 of 18, by IIGS_User

User metadata
Rank Oldbie
Rank
Oldbie
MiniMax wrote:

You mistyped the nosuid (no set-user-id) option as 'nosuit' 😀 Since you didn't get an error message, I guess the mount_cd9660 utility simply ignored the unknown option, in which case I think you can omit it all together.

You're right, the pict shows a wrong command.
It just expected nosuid, but ignored the unknown cmd 'nosuit', eh? 😉

I've another question, since there are no differences (= no err msgs) between "read_only" as stated above and "read-only" as stated in the Terminal mount list.

Should I enter

mount -t "cd9660" -o "nodev,nosuid,read_only" /dev/disk2s1 /Volumes/ISO

or

mount -t "cd9660" -o "nodev,nosuid,read-only" /dev/disk2s1 /Volumes/ISO

The whole way I gave above isn't finished at all.

When exiting DOSBox you may expect that the /volumes/iso thing also will be removed. In the Terminal, enter:

umount /volumes/iso

(as given above).

Then type in:

rmdir /volumes/iso

to finally delete this "/volumes/iso" stuff (means to move it to the Trash, where it become visible).
In fact, "/volumes/" is an invisible folder located in the root directory of the MacOS X boot drive, which now holds an folder called "iso", where all the mounted stuff will be stored.
rmdir will work only if the folder "iso" is empty,, that means, if the volume has been unmounted by the umount Terminal command.

If it will not removed by "rmdir /volumes/iso" it sill exist the next time, but usually this shouldn't be a problem.

Kurt, w/o your intention I never would get the idea to take a look into this stuff! Thank you!

Klimawandel.

Reply 9 of 18, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

IIGS - look for the correct option names with '$ man mount' or '$ man mount_cd9660'. Or after you have done the mounting, simply do a '$ mount', and it should list the current mounts, including the applied options.

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 10 of 18, by IIGS_User

User metadata
Rank Oldbie
Rank
Oldbie

Thanky you, i typed "Man mount" into the Terminal and it replies as follows:

-r The file system is to be mounted read-only. Mount the file sys-
tem read-only (even the super-user may not write it). The same
as the ``rdonly'' argument to the -o option.

I'll try the -r option instead of type in "read_only" or "read-only" within the -o arguments soon.

Klimawandel.

Reply 11 of 18, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

It is not that simple IIGS. The mount command is usually just a wrapper around the mounting programs that does the real work. Your system will typically have specialized mount-programs for each of the file types on your system: HFS, NTFS, ISO-9660, FAT, AFS, NFS, etc, etc.

When you use the mount -t cd9660 command, you are (I guess) really invoking the mount_cd9660 program and it will read the -o options and interpret them. So using man mount only tells you the generic mount options (like -r), and not what mount_cd9660 accepts.

Do you know where your mount program lives? In /usr/bin ? Or /usr/sbin ? Try a ls -l /usr/bin/mount* /usr/sbin/mount* and see what is there. Then, if you see a mount_cd9660 program, try man mount_cd9660 to see the filesystem-specific options.

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 12 of 18, by IIGS_User

User metadata
Rank Oldbie
Rank
Oldbie
MiniMax wrote:

Try a ls -l /usr/bin/mount* /usr/sbin/mount*

Results in "No such file or directory".

Man mount_cd9660 works, so the command

mount_cd9660 -o "nodev,nosuid,rdonly" /dev/disk2s1 /volumes/iso

also mounts the ISO part of an Hybrid PC/Mac CDROM to the MacOS X Finder, the same way is the mount -t "cd9660" thing, but I'm very happy with mount_cd9660.
You're right I think, the mount -t "cd9660" must invoke the mount_cd9660, so the second one should be used.
_________
The whole way to mount the ISO part of an Hybrid CD is a very important information for MacOS X users, so I think I should re-create (and re-write) this information in a newly opened thread which you move to "DOSBox Guides", is this OK?

Klimawandel.

Reply 13 of 18, by MiniMax

User metadata
Rank Moderator
Rank
Moderator
IIGS_User wrote:

You're right I think, the mount -t "cd9660" must invoke the mount_cd9660, so the second one should be used.

I don't recommend that. Keep using mount as the command, and only look up the manual page for the filesystem specific mount-program to get details about fs-specific options and behaviours.

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 14 of 18, by darkgamorck

User metadata
Rank Member
Rank
Member
Kurt Lang wrote:

Actually, it doesn't. One disk I was testing with was King's Quest 6. When you put it in the drive, it shows up as two volumes on the OS X desktop. "VOLUME_ID" and "Audio CD". You simply ignore the audio volume and use the other volume name for your label name in DosBox. It installed and ran perfectly. All sounds and speech working.

Heh. Yes with that game it isn't an issue. Because that game doesn't rely upon the CD Audio tracks. Try run the CD version of LOOM for DOS or Mechwarrior 2 for DOS and then tell me how well it works. Those games rely entirely on the audio and the data tracks. Without both available from the same "drive" in DOSBox, those games won't work properly.

The only way to work around this in DOSBox is to use CD Images (or in the case of Loom just use ScummVM). This technique is fine though because I rarely deal in real CDs as it isn't convenient to carry them around with my laptop.

So yeah your "trick" works with games that don't care about the audio tracks. For games that do... not so much 😀

Reply 15 of 18, by MiniMax

User metadata
Rank Moderator
Rank
Moderator

So, what does this mean for MacOSX users? Do the mount command need to be more intelligent about which volume/partition it is choosing from the CD? Or do the mount command need a new option for selecting the DOS label??

DOSBox 60 seconds guide | How to ask questions
_________________
Lenovo M58p | Core 2 Quad Q8400 @ 2.66 GHz | Radeon R7 240 | LG HL-DT-ST DVDRAM GH40N | Fedora 32

Reply 18 of 18, by IIGS_User

User metadata
Rank Oldbie
Rank
Oldbie
darkgamorck wrote:

Which means just use bin/cue images of your CDs and mount them from within DOSBox using the imgmount tool. That will work around the issue.

That remembers me to ask how to create such bin/cue images?
I'm using the CD burner software called "Toast", it comes with a "Save as bin/cue..." command. This one creates two files (say Settlers2 CD-ROM):

settlers2.bin (size: 125.3 MB, document kind = "Toast Image File (ISO)")
settlers2.cue (size: 4 kb, document kind = "Toast Image File (ISO)")
If i understand the forum postings depending this issue right, I've to imgmount the .cue file?

Another word about PC/Mac Hybrid CD-ROMs, making redundantly the whole Terminal thing to mount an ISO part of it:
Using Toast, if you save an .image ("Save as Disk image...") of such a CD-ROM and use the imgmount command, DOSBox mounts the ISO9660 part of it. How amazing, that's fine.

These are the file informations as they are displayed in the MacOS X info box of the settlers2.toast file:
settlers2.toast (size: 269.5 MB, document kind = "Toast Image File")

Klimawandel.