Create MFS partition on a HD

Crutch

Well-known member
I would like to create an MFS “partition” on an HFS hard disk so that I can run some old apps (early versions of 68K MDS, mainly) that would otherwise work on a my machine (a 128ke with a Gemini 030 upgrade) but don’t like HFS.

Ideally I would do this on a mountable disk image so I don’t have to reformat the HD.

So:  does any one know of a utility that can create a large-ish (a few MB) MFS disk image?  Disk Copy 6 doesn’t seem to allow for the creation of MFS images.  

A wonderful article by Mike Schuster in the April 1986 issue of MacTutor (“Nested Volume Manager DA”) explains how to do this by writing a disk driver complete with partial source code (the full code is on “MacTutor disk #7” somewhere ... by the way, did the MacTutor code disks survive online somewhere?) but having to build a disk driver to do this feels like overkill, I would definitely bet someone made a free or commercial utility at some point for exactly this purpose.  The “Drawers” utility for HyperDrive would serve the purpose if it works on a non-HyperDrive HD ... I haven’t actually tried that yet but I’m not optimistic.

 

Dog Cow

Well-known member
I pulled my Inside Macintosh volume V off the shelf last evening. If you look in the SCSI Manager chapter there's the documentation on the partition table. There's a code for an MFS format partition. I think that's step 1. Will any utilities create an MFS partition? I don't know, but you can always create a small HFS partition, then use a block editor like FEdit to make your own changes to the partition table and change it to MFS.

Step 2 is to create the MFS volume. The disk initialization package should be able to do this for you, but you'd have to access it programmatically thru your own custom utility. I would check Inside Macintosh volume IV to see how to force MFS format. Otherwise, you could load the old, MFS-only DI package and use it. The routine within the package that you want to use is DIZero.

Or if you don't create the MFS volume programmatically, you can build one by hand, again using FEdit or some other block editor. It's not too difficult. I did it a few years ago to create an MFS volume on a Hard Disk 20.

 

Crutch

Well-known member
Ah yes that’s great advice, thanks.  The problem I was foreseeing with just writing a utility to create the MFS volume is that you can’t actually tell (HFS-era) _DIZero to create an MFS volume, it automatically uses HFS for anything > 400k (actually, I think it asks the disk driver what to do).  So I was thinking I’d have to follow the old MacTutor article and write at least part of a disk driver, which seemed ridiculous.

Your idea to just load the old, MFS-only DI package then use that version of DIZero is a great one and obvious in retrospect.  Thanks!

 

just.in.time

Well-known member
@Crutch have you checked into the documentation for the FloppyEMU? I think it has some guides for how to create blank images, and I want to say it has instructions on an MFS image as well (but it’s been a couple years since I looked at the PDF, don’t quote me).

 

Dog Cow

Well-known member
I followed my own advice and last night I read through the DI package chapter in Inside Macintosh IV. Just as you already saw from reading it, the HFS DI package, according to the text, will only make an MFS volume on a single-sided disk. Short of disassembling the package and patching the code, it looks like this route is a no-go.

I also reviewed the Partition Map documentation in the SCSI Manager chapters of both Inside Macintosh volumes IV and V. This step may be an unnecessary one; the File Manager may accept a partition map entry that's labeled as Apple_HFS, even though the volume header is MFS. Indeed, it's not clear to me whether the partition type is even communicated to the File Manager at all. It may be that the File Manager only relies on the volume header to determine whether the volume is a valid Macintosh file system.

So if I were the one doing this project (which you've got me tempted to do), the first thing I'd do is create a small HFS partition in HD Setup, then use the block editor to manually build an MFS volume in that partition. If this works, then you're probably good to go. If not, then you may have to fiddle with the partition map.

 
Last edited by a moderator:

joevt

Well-known member
Using my fork of the DingusPPC emulator (required changes to be committed later), I can create a virtual HD with multiple HFS and MFS partitions sourced from DiskCopy 4.2 or raw disk images.

The MFS partitions are not mounted in Mac OS 8 and later since Apple removed MFS support. They mount in System 7.5.3 if the partition type is set to Apple_HFS but not Apple_MFS. The MFS volumes don't have folders and the Finder's "New Folder..." command is disabled. Does System 6 enable folder support for MFS volumes?
 

LaPorta

Well-known member
MFS by nature doesn’t REALLY support folders, since it is not hierarchical in nature. The folders made under an MFS system don’t appear in Open dialog boxes, etc. That may be why it is grayed out.
 

nathall

Well-known member
Right. There was no “New Folder” command pre-HFS. All files in MFS are in what you’d consider the root directory. You can’t have two files with the same name in an MFS file system.

I don’t remember offhand when they added HFS support, only that it was early on, around when the HD20 was released.

Prior to this, folders were an illusion of the OS. The early Systems always added an “Empty Folder” file to any unlocked MFS file system without one. You could rename this to create an illusory folder, and the OS would automatically create a new Empty Folder.
 

adespoton

Well-known member
https://apple.fandom.com/wiki/List_of_Mac_OS_versions - I track that sort of thing here; 2.1 did indeed introduce HFS for the HD 20. The "More complete" that comes with 3.0 was really more around ROM inclusion of HFS; you needed to bootstrap it on the 128 and 512 with a boot floppy before it would boot from HFS. 3.0 included a proper bootloader that provided the same HFS support on SD DD and HD.

In my own experiences with how Apple handles partition maps and volume headers, it has seemed that the File Manager did indeed just read the partition label.

After all, Apple essentially did this again with APFS, just tossing it inside an HFS+ partition.

Other things to consider when using MFS:
Max volume size20 MiB
Max file size20 MiB
Max no. of files4094
Max filename length255 characters

So you can have up to 4094 files with a total size of 20MiB on an MFS filesystem, and the file names can be up to 255 characters long (although Finder can only handle up to 64 characters in early OS versions, 32 in later OS versions).

I don't believe MFS has its own bootloader partition format? So formatting HFS and then hollowing out the actual HFS partition and dropping in the MFS volume just like it would be present on a floppy.

You can create these sorts of volumes in Mini vMac, which doesn't put a limit on image size, but only creates floppy-style images.
 

cheesestraws

Well-known member
Does System 6 enable folder support for MFS volumes?

Since you haven't yet received a direct answer to this, here is a direct answer: MFS folders are a Finder hack to enable categorisation of files. They are not directories. The hack that displayed those folders went away in the System 7 Finder (and thus on all subsequent Systems), which is why all MFS volumes appear as flat lists of files in System 7, as they would appear in Standard File dialog boxes in earlier Systems.
 

adespoton

Well-known member
Since you haven't yet received a direct answer to this, here is a direct answer: MFS folders are a Finder hack to enable categorisation of files. They are not directories. The hack that displayed those folders went away in the System 7 Finder (and thus on all subsequent Systems), which is why all MFS volumes appear as flat lists of files in System 7, as they would appear in Standard File dialog boxes in earlier Systems.
And AFAIR, System 6 Finder still displays them as folders.
 

joevt

Well-known member
It appears Mac OS 8.1 will ask to reinitialized MFS partitions that are not 400K or 800K (or that are at least 1.44 MB).

I used the disk images from the infinite-mac GitHub for testing. The Infinite HD (MFS).dsk is 1.44 MB (2880 blocks).
System 1.0 to 2.0 are MFS 400K. 2.1 is MFS 800K. 3.0 to 3.3 are HFS 800K. 4.0 and 4.1 are HFS 1.5 MB. etc.

I haven't tried the MFSLives file system for Mac OS X.
 
Top