VOGONS


Support High Sierra discs in imgmount

Topic actions

First post, by Snover

User metadata
Rank l33t++
Rank
l33t++

Currently, imgmount fails to mount images from old CD-ROMs that use High Sierra (instead of ISO-9660). The two standards are very similar (ISO-9660 is a modified version of High Sierra), so I hope it should not be very hard to add support.

All the information I can dig up about the differences between the formats is here:

http://www.mactech.com/articles/develop/issue … igh_sierra.html

Linux is capable of mounting High Sierra discs.

I am able to provide a High Sierra image if necessary (or perform testing).

Regards,

Yes, it’s my fault.

Reply 1 of 24, by GL1zdA

User metadata
Rank Oldbie
Rank
Oldbie

I would also like to see High Sierra support in DosBOX - Microsoft Programmer's Library CD-ROM uses it and it works much better in DosBOX than in cmd.

getquake.gif | InfoWorld/PC Magazine Indices

Reply 2 of 24, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The differences in the formats are relatively small, but DOSBox currently uses a struct to pick apart the PVD and directory entries, and you'd need a different struct depending on which format is being mounted. Not sure what the "correct" way to deal with it would be; maybe using a virtual base class with an ISO and HSF subclass, but it's not a trivial code change.

That said, why not just convert the images to ISO? I can do this easily in Windows by mounting the HSF image in Daemon Tools and then using MKISOFS (or similar) to create an ISO from the mounted drive. Linux probably has some way to do the same thing.

Reply 3 of 24, by GL1zdA

User metadata
Rank Oldbie
Rank
Oldbie

Actually this is what I did - but if you want, like me, the genuine untouched images you have to keep both. Fortunately there are few HS CDs (I own only one - the Microsoft Programmer's Library I mentioned before), but it would still be nice for DOSBox to support it since MSCDEX did it.

getquake.gif | InfoWorld/PC Magazine Indices

Reply 4 of 24, by ADDiCT

User metadata
Rank Oldbie
Rank
Oldbie

Well I'm no dev, but if the following facts are correct:

- High Sierra is only used on a few discs
- there's a workaround (creating an image sounds like a perfectly fine workaround to me, and quite easy to do as well, and if you make the image yourself, from your own disc, what's the difference to a "real" image after all?!)
- the support would be not trivial to implement

then I'd rather have the devs spending their precious and limited time on other matters more important to the "core" or focus functions of DOSBox.

Reply 5 of 24, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

With the inflexibility of structs, it seems non-trivial to support both formats; however, it is fairly easy to change the existing support from ISO to HSF. Not as convenient, no doubt, but you can use a patched build of DOSBox for those times when you'd like to access a High Sierra image.

I've tested the attached patch (made against current SVN) as far as mounting an HSF image, installing software from it, and generally accessing directories and files. However, I could easily have overlooked something, and there may be some features that should be stubbed-out but aren't. Treat it as experimental, but maybe it can also be a useful reference if anyone wants to take on the job of supporting both formats.

Reply 6 of 24, by GL1zdA

User metadata
Rank Oldbie
Rank
Oldbie

I'll have a look at it tomorrow. Are you sure you have to use inheritance to implement both? Wouldn't a union be sufficient?

getquake.gif | InfoWorld/PC Magazine Indices

Reply 7 of 24, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

I think you'd end up with a whole slew of IF() tests all over the code trying to make a union struct work, but good luck.

Reply 8 of 24, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Here is an approach that uses offsets for the PVD instead of the struct, because only a few key elements are used, and offsets were already being used in some places. For the directory data, only the flags are in a different position, and there is a bit of a hack to handle that. DOSBox doesn't currently use the time zone; but if it ever does, the patch would need to add a condition because HSF lacks that data.

The previous patch did not do anything about VTOC data read via MSCDEX, and at a minimum the entries should be offset for HSF because of the leading 8-byte field there. This patch does offset VTOC fields, but none of my HSF images actually contain such data, so it's difficult to test. I don't think MKISOFS will create an HSF image, but maybe I can find a tool that will.

If no games were released on High Sierra discs, the feature isn't really in line with DOSBox's focus, and it's unlikely to be integrated. But if anyone is interested in trying the patch with their HSF images, please post your results.

Reply 9 of 24, by NewRisingSun

User metadata
Rank Oldbie
Rank
Oldbie

If no games were released on High Sierra discs, the feature isn't really in line with DOSBox's focus, and it's unlikely to be integrated.

King's Quest V CD-ROM comes on a High Sierra disc and can not be IMGMOUNTed in DosBox. (IsoBuster also bails out.) Here's the output from Rob Northen Computing's CD-TOOLS:

CD-TOOLS 1.00     A UTILITY FOR ROM AND AUDIO CD'S      08-AUG-94
Copyright (c) 1994 Rob Northen Computing, UK. All Rights Reserved.

þ SHAREWARE VERSION

High Sierra Volume Descriptor:

Volume Descriptor Type [1] (Primary)
Standard Identifier: "CDROM"
Volume Descriptor Version: [1]
Unused 1: [0]
System Identifier: ""
Volume Identifier: ""
Unused 2: [0000000000000000]
Volume Space Size: [73240]
Unused 3: [0000000000000000000000000000000000000000000000000000000000000000]
Volume Set Size: [1]
Volume Sequence No.: [1]
Logical Block Size: [2048]
Path Table Size: [10]
Loc. of Type L Path Table: [18]
Loc. of Optional Type L Path Table: [0]
Loc. of Type M Path Table: [436207616]
Loc. of Optional Type M Path Table: [0]
Directory Record for Root Directory:
Length of Directory Record: [34]
Extended Attribute Record Length: [0]
Location of Extent: [34]
Data Length: [4096]
Recording Date and Time:
Year: [92]
Month: [4]
Day: [3]
Hour: [15]
Minute: [7]
Second: [23]
File Flags: [2]
Unused 1: [0]
File Unit Size: [0]
Interleave Gap Size: [0]
Volume Sequence Number: [1]
Length of File Identifier: [1]
File Identifier: [0]
Volume Set Identifier: ""
Publisher Identifier: ""
Data Preparer Identifier: "MERIDIAN_DATA_CD_PUBLISHER"
Application Identifier: ""
Copyright File Identifier: ""
Abstract File Identifier: ""
Volume Creation Date and Time: "1992040315072300"
Volume Modification Date and Time: "1992040315072300"
Volume Expiration Date and Time: "0000000000000000"
Volume Effective Date and Time: "1992040315072300"
File Structure Version: [1]

High Sierra Volume Descriptor:

Volume Descriptor Type [255] (Volume Set Terminator)
Standard Identifier: "CDROM"
Volume Descriptor Version: [1]

Whereas a regular ISO 9660 disc, such as Space Quest IV, would look like this:

CD-TOOLS 1.00     A UTILITY FOR ROM AND AUDIO CD'S      08-AUG-94
Copyright (c) 1994 Rob Northen Computing, UK. All Rights Reserved.

þ SHAREWARE VERSION

ISO-9660 Volume Descriptor:

Volume Descriptor Type [1] (Primary)
Standard Identifier: "CD001"
Volume Descriptor Version: [1]
Unused 1: [0]
System Identifier: "IBM PC/AT"
Volume Identifier: "SQ4_CD"
Unused 2: [0000000000000000]
Volume Space Size: [95328]
Unused 3: [0000000000000000000000000000000000000000000000000000000000000000]
Volume Set Size: [1]
Volume Sequence No.: [1]
Logical Block Size: [2048]
Path Table Size: [146]
Loc. of Type L Path Table: [18]
Loc. of Optional Type L Path Table: [19]
Loc. of Type M Path Table: [20]
Loc. of Optional Type M Path Table: [21]
Directory Record for Root Directory:
Length of Directory Record: [34]
Extended Attribute Record Length: [0]
Location of Extent: [22]
Data Length: [4096]
Recording Date and Time: 0--0 0:0:0:0
File Flags: [2]
File Unit Size: [0]
Interleave Gap Size: [0]
Volume Sequence Number: [1]
Length of File Identifier: [1]
File Identifier: [0]
Volume Set Identifier: "SQ4_CD_DISC_ONE_OF_ONE"
Publisher Identifier: "SIERRA ON-LINE, INC."
Data Preparer Identifier: "SIERRA ON-LINE, INC."
Application Identifier: "NOT SPECIFIED"
Copyright File Identifier: ""
Abstract File Identifier: ""
Bibliographic File Identifier: ""
Volume Creation Date and Time: "1992081121300000à"
Volume Modification Date and Time: "1992081121300000à"
Volume Expiration Date and Time: "1999081121300000à"
Volume Effective Date and Time: "1999081121300000à"
File Structure Version: [1]

ISO-9660 Volume Descriptor:

Volume Descriptor Type [255] (Volume Set Terminator)
Standard Identifier: "CD001"
Volume Descriptor Version: [1]

Reply 11 of 24, by NewRisingSun

User metadata
Rank Oldbie
Rank
Oldbie

The original (December 1991, according to Volume Descriptor) "Multimedia PC" (MPC) release of Jones in the Fast Lane is also a High Sierra rather than a ISO 9660 disc.

CD-TOOLS 1.00     A UTILITY FOR ROM AND AUDIO CD'S      08-AUG-94
Copyright (c) 1994 Rob Northen Computing, UK. All Rights Reserved.

■ SHAREWARE VERSION

High Sierra Volume Descriptor:

Volume Descriptor Type [1] (Primary)
Standard Identifier: "CDROM"
Volume Descriptor Version: [1]
Unused 1: [0]
System Identifier: ""
Volume Identifier: ""
Unused 2: [0000000000000000]
Volume Space Size: [14648]
Unused 3: [0000000000000000000000000000000000000000000000000000000000000000]
Volume Set Size: [1]
Volume Sequence No.: [1]
Logical Block Size: [2048]
Path Table Size: [10]
Loc. of Type L Path Table: [18]
Loc. of Optional Type L Path Table: [0]
Loc. of Type M Path Table: [436207616]
Loc. of Optional Type M Path Table: [0]
Directory Record for Root Directory:
Length of Directory Record: [34]
Extended Attribute Record Length: [0]
Location of Extent: [34]
Data Length: [6144]
Recording Date and Time:
Year: [91]
Month: [12]
Day: [17]
Hour: [17]
Minute: [56]
Second: [12]
File Flags: [2]
Unused 1: [0]
File Unit Size: [0]
Interleave Gap Size: [0]
Volume Sequence Number: [1]
Length of File Identifier: [1]
File Identifier: [0]
Volume Set Identifier: ""
Publisher Identifier: ""
Data Preparer Identifier: "MERIDIAN_DATA_CD_PUBLISHER"
Application Identifier: ""
Copyright File Identifier: ""
Abstract File Identifier: ""
Volume Creation Date and Time: "1991121717561200"
Volume Modification Date and Time: "1991121717561200"
Volume Expiration Date and Time: "0000000000000000"
Volume Effective Date and Time: "1991121717561200"
File Structure Version: [1]

High Sierra Volume Descriptor:

Volume Descriptor Type [255] (Volume Set Terminator)
Standard Identifier: "CDROM"
Volume Descriptor Version: [1]

And this one needs to be IMGMOUNTed because of the CD audio track, which contains all of the speech:

CD-TOOLS 1.00     A UTILITY FOR ROM AND AUDIO CD'S      08-AUG-94
Copyright (c) 1994 Rob Northen Computing, UK. All Rights Reserved.

■ SHAREWARE VERSION

First Track : 1
Last Track : 2
Size (MM:SS:FF) : 41:10:64
(Sectors) : 185314
(Bytes) : 431314640
(Megs) : 412
UPC/EAN Code : 3<250;1002006

Trk Trk Cpy Pre Aud Address Length Address Length Length %
No. Typ Pro Emp Chn MM:SS:FF MM:SS:FF Sector# Sectors Bytes of CD
--- --- --- --- --- -------- -------- ------- ------- --------- -----
01 ROM YES NO 2 00:02:00 03:19:22 0000000 0014947 030611456 8.06
02 DA YES NO 2 03:21:22 37:51:42 0014947 0170367 400703184 91.93

Reply 12 of 24, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

I have an BIN/CUE image of Jones in the Fast Lane with file dates no later than 08/23/1991, but it works just fine with DOSBox. The speech works just fine with a regular DOSBox mount of the image loaded onto Daemon Tools drive. I assume that the image came from an ISO 9660 disc, and I know that eventually Sierra re-released KQ5 on ISO 9660 discs.

Now with KQ5, all one need do is to copy the files from the High Sierra disc to a hard drive, then burn them to an image. With Jones, its much more difficult because it is a mixed mode CD where the timing for the CD audio track is very important.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 13 of 24, by NewRisingSun

User metadata
Rank Oldbie
Rank
Oldbie
Great Hierophant wrote:

I assume that the image came from an ISO 9660 disc

If you have to assume, then you don't have the original disc. The image floating around the internet indicates (using CD-TOOLS again) that it was prepared using "Nero Burning Rom" in 2006, likely by copying to hard drive from the original High Sierra disc, as you described:

CD-TOOLS 1.00     A UTILITY FOR ROM AND AUDIO CD'S      08-AUG-94
Copyright (c) 1994 Rob Northen Computing, UK. All Rights Reserved.

■ SHAREWARE VERSION

ISO-9660 Volume Descriptor:

Volume Descriptor Type [1] (Primary)
Standard Identifier: "CD001"
Volume Descriptor Version: [1]
Unused 1: [0]
System Identifier: ""
Volume Identifier: ""
Unused 2: [0000000000000000]
Volume Space Size: [12578]
Unused 3: [0000000000000000000000000000000000000000000000000000000000000000]
Volume Set Size: [1]
Volume Sequence No.: [1]
Logical Block Size: [2048]
Path Table Size: [10]
Loc. of Type L Path Table: [20]
Loc. of Optional Type L Path Table: [0]
Loc. of Type M Path Table: [21]
Loc. of Optional Type M Path Table: [0]
Directory Record for Root Directory:
Length of Directory Record: [34]
Extended Attribute Record Length: [0]
Location of Extent: [19]
Data Length: [2048]
Recording Date and Time: 14-SEP-106 1:44:0:8
File Flags: [2]
File Unit Size: [0]
Interleave Gap Size: [0]
Volume Sequence Number: [1]
Length of File Identifier: [1]
File Identifier: [0]
Volume Set Identifier: ""
Publisher Identifier: ""
Data Preparer Identifier: ""
Application Identifier: "NERO BURNING ROM"
Copyright File Identifier: ""
Abstract File Identifier: ""
Bibliographic File Identifier: ""
Volume Creation Date and Time: "2006091401440000"
Volume Modification Date and Time: "2006091401440000"
Volume Expiration Date and Time: "0000000000000000"
Volume Effective Date and Time: "0000000000000000"
File Structure Version: [1]

ISO-9660 Volume Descriptor:

Volume Descriptor Type [2] (Supplementary)
Standard Identifier: "CD001"
Volume Descriptor Version: [1]
Flags: [0]
System Identifier: ""
Volume Identifier: ""
Unused 2: [0000000000000000]
Volume Space Size: [12578]
Escape Sequences: [050F050000000000000000000000000000000000000000000000000000000000]
Show last 39 lines
  Volume Set Size:                    [1]
Volume Sequence No.: [1]
Logical Block Size: [2048]
Path Table Size: [10]
Loc. of Type L Path Table: [24]
Loc. of Optional Type L Path Table: [0]
Loc. of Type M Path Table: [25]
Loc. of Optional Type M Path Table: [0]
Directory Record for Root Directory:
Length of Directory Record: [34]
Extended Attribute Record Length: [0]
Location of Extent: [22]
Data Length: [4096]
Recording Date and Time: 14-SEP-106 1:44:0:8
File Flags: [2]
File Unit Size: [0]
Interleave Gap Size: [0]
Volume Sequence Number: [1]
Length of File Identifier: [1]
File Identifier: [0]
Volume Set Identifier: ""
Publisher Identifier: ""
Data Preparer Identifier: ""
Application Identifier: ""
Copyright File Identifier: ""
Abstract File Identifier: ""
Bibliographic File Identifier: ""
Volume Creation Date and Time: "2006091401440000"
Volume Modification Date and Time: "2006091401440000"
Volume Expiration Date and Time: "0000000000000000"
Volume Effective Date and Time: "0000000000000000"
File Structure Version: [1]

ISO-9660 Volume Descriptor:

Volume Descriptor Type [255] (Volume Set Terminator)
Standard Identifier: "CD001"
Volume Descriptor Version: [1]

The point was that DosBox should, if possible, work with original and not "fixed" image files.

Great Hierophant wrote:

I know that eventually Sierra re-released KQ5 on ISO 9660 discs.

I haven't seen one, apart from Collection CDs.

Reply 14 of 24, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

I did not appreciate until today that this thread concerns IMGMOUNTing the disc image. I rarely have had the need to use IMGMOUNT for CD images. I usually use Daemon Tools to load my disc images and then MOUNT the drive letter. With MOUNT, my HSF image (confirmed with CD-TOOLS 1.00) of Mixed Up Mother Goose works just fine with DOSBox SVN. With IMGMOUNT, DOSBox will complain about Invalid file or unable to open.

My Jones in the Fast Lane image is a Nero ISO conversion, and it doesn't have any problems with the speech that I could notice from a glance when MOUNTed through Daemon Tools.

I would suggest that original discs for KQ5, Jones in the Fast Lane, Mixed Up Mother Goose and Stellar 7 are all HSF. Interestingly, my The Manhole CD image, which predates all the Sierra games by a year, reports ISO-9660, and not obviously modified.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 15 of 24, by NewRisingSun

User metadata
Rank Oldbie
Rank
Oldbie

Yes, Daemon Tools Lite does support mounting High Sierra discs. What problems do you have with Jones' speech? Still, if it can be done, IMGMOUNT should support High Sierra discs as well. Maybe I will see what I can do based on ripsaw's patch some time later this year.

I have an BIN/CUE image of Jones in the Fast Lane with file dates no later than 08/23/1991

By the way, my High Sierra Jones CD lists having been mastered in December 1991, but the latest file is dated 06-01-1992 (AUDCDROM.DRV), and SCIJONES.EXE is 13-12-1991. The main game file RESOURCE.001 is dated 16-08-1991. This indicates that there were several CD-ROM releases of Jones, both in High Sierra format, and the NERO remaster was done using an earlier version than mine. You are of course aware of the two KQ5 versions on CD, also both in High Sierra format. (I prefer the earlier less muffled-sounding version despite the more siblant "s" sounds.)

I would suggest that original discs for KQ5, Jones in the Fast Lane, Mixed Up Mother Goose and Stellar 7 are all HSF

Disagree about Stellar 7:

CD-TOOLS 1.00     A UTILITY FOR ROM AND AUDIO CD'S      08-AUG-94
Copyright (c) 1994 Rob Northen Computing, UK. All Rights Reserved.

■ SHAREWARE VERSION

ISO-9660 Volume Descriptor:

Volume Descriptor Type [1] (Primary)
Standard Identifier: "CD001"
Volume Descriptor Version: [1]
Unused 1: [0]
System Identifier: ""
Volume Identifier: ""
Unused 2: [0000000000000000]
Volume Space Size: [9764]
Unused 3: [0000000000000000000000000000000000000000000000000000000000000000]
Volume Set Size: [1]
Volume Sequence No.: [1]
Logical Block Size: [2048]
Path Table Size: [10]
Loc. of Type L Path Table: [18]
Loc. of Optional Type L Path Table: [0]
Loc. of Type M Path Table: [26]
Loc. of Optional Type M Path Table: [0]
Directory Record for Root Directory:
Length of Directory Record: [34]
Extended Attribute Record Length: [0]
Location of Extent: [34]
Data Length: [6144]
Recording Date and Time: 26-AUG-91 4:22:30:95
File Flags: [2]
File Unit Size: [0]
Interleave Gap Size: [0]
Volume Sequence Number: [1]
Length of File Identifier: [1]
File Identifier: [0]
Volume Set Identifier: ""
Publisher Identifier: ""
Data Preparer Identifier: "MERIDIAN_DATA_CD_PUBLISHER"
Application Identifier: ""
Copyright File Identifier: ""
Abstract File Identifier: ""
Bibliographic File Identifier: ""
Volume Creation Date and Time: "1991082604223000"
Volume Modification Date and Time: "1991082604223000"
Volume Expiration Date and Time: "0000000000000000"
Volume Effective Date and Time: "1991082604223000"
File Structure Version: [1]

ISO-9660 Volume Descriptor:

Volume Descriptor Type [255] (Volume Set Terminator)
Standard Identifier: "CD001"
Volume Descriptor Version: [1]

Along with "The Manhole", it seems that CD-ROM publishers always had the choice between High Sierra and ISO-9660 formats, but Sierra just did not know any better at the beginning, especially since it seemed to work either way.

Last edited by NewRisingSun on 2014-03-12, 06:34. Edited 2 times in total.

Reply 16 of 24, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

I don't have any obvious problems with Jones speech, fortunately.

Maybe Sierra liked the name "High Sierra Format", even though they had nothing to do with the standard. Another possibility is that Sierra or its manufacturer started by using HSF for U.S. discs and ISO discs for international released. Maybe they weren't too picky so long as it worked. This may be one of those mysteries that never gets solved.

I would have suggested that perhaps the Dynamix titles like Stellar 7 may have been mastered at a different facility, but the "MERIDIAN_DATA_CD_PUBLISHER" suggests otherwise.

Stellar 7 uses multiple audio tracks whereas Jones uses one. Is there any inherent advantage to using either format in this regard?

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 17 of 24, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

I don't have any obvious problems with Jones speech, fortunately.

Maybe Sierra liked the name "High Sierra Format", even though they had nothing to do with the standard. Another possibility is that Sierra or its manufacturer started by using HSF for U.S. discs and ISO discs for international released. Maybe they weren't too picky so long as it worked. This may be one of those mysteries that never gets solved.

I would have suggested that perhaps the Dynamix titles like Stellar 7 may have been mastered at a different facility, but the "MERIDIAN_DATA_CD_PUBLISHER" suggests otherwise.

Stellar 7 uses multiple audio tracks whereas Jones uses one. Is there any inherent advantage to using either format in this regard?

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 18 of 24, by NewRisingSun

User metadata
Rank Oldbie
Rank
Oldbie

Stellar 7, at least the version I mentioned, only has one audio track that includes all music and speech segments.

Reply 19 of 24, by leileilol

User metadata
Rank l33t++
Rank
l33t++

I can confirm my Stellar 7 CD has one long audio track as well.

I would imagine the advantage of doing it as one is to try and defeat seeking delays

apsosig.png
long live PCem