• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Extension supporting 400kB MFS disks?

hjalfi

Member
I have a PowerBook 150 running 7.mumble. I want to be able to read/write/format 400kB MFS disks so that I can test MFS support on another platform. Does anyone know of any extensions that add full MFS support, including being able to format them? (Depending on the MacOS version I _may_ have read-only support, but as I don't have any MFS disks to play with I can't test that.)
 

olePigeon

Well-known member
I can say with confidence that 7.1 Pro has read support for MFS. You can pseudo write by making a disk image first, then writing the disk image to disk.

An MFS extension would be exceptionally useful, but I've never seen one.

One alternative would be to dual boot your PowerBook with System 6. I think there are Control Panels that allow for easy switching between different versions of Mac OS. But I don't know if it's compatible with System 7 and 6.
 

3lectr1cPPC

Well-known member
I think there are Control Panels that allow for easy switching between different versions of Mac OS. But I don't know if it's compatible with System 7 and 6.
I'd think that System picker would work for that
 

olePigeon

Well-known member
@Phipli Good point. @hjalfi Might have to do the Disk Image trick I mentioned earlier if you want to modify and change MFS disks around. It's a pain in the butt, though.

There was a chap who was backporting HFS+ to System 7. I don't recall who it was. But it might be worth asking them if it's possible to do the same with MFS. Make a file system extension for System 7+.
 

hjalfi

Member
I'll admit that even though I have exotic hardware for making Mac disks (wanting MFS support is actually in aid to supporting working with MFS filesystems), the idea of installing System 7 again from a zillion floppies fills me with dread.
 

Phipli

Well-known member
I'll admit that even though I have exotic hardware for making Mac disks (wanting MFS support is actually in aid to supporting working with MFS filesystems), the idea of installing System 7 again from a zillion floppies fills me with dread.
Do you have a scsi drive and cable? You could install it from a CD or SCSI2SD or whatever. I can't remember the last time I installed 7.* from floppy disks :)
 

hjalfi

Member
That's useful, thanks. Looks like I'll be reinstalling, then.

BTW, on a semi-related topic, I am now capable of reading and writing files directly from and to HFS-formatted Mac 800kB floppies on a normal PC drive (connected to a FluxEngine or GreaseWeazle controller). I'd like to add MFS support, at least read-only.
 

olePigeon

Well-known member
What's the plausibility of adding MFS support to System 7+?

I already have an idea for an icon with a pixelized image of Samuel L. Jackson.
 

hjalfi

Member
I already have an idea for an icon with a pixelized image of Samuel L. Jackson.
...and that's the hard bit, right?

I've looked at the MFS file system definition; it's not actually very complicated. There's a single directory containing a flat list of files, a single FAT containing the allocation chains, and a boot block. Subdirectories are faked in the main directory --- each file points at the directory entry of its enclosing directory. It's very reminiscent of the CP/M filesystem! https://wiki.osdev.org/MFS

So, providing that the System 7 filesystem extension API is reasonable, I'd guess it'd take someone who knew what they were doing under a week. A read-only version could probably be hacked together in a couple of days. Naturally, I have no idea what the API actually looks like.
 

olePigeon

Well-known member
No, it was just a joke. I'm cognizant the difficulty of programming considering my brain is incapable of doing it.
 

hjalfi

Member
I wasn't being facetious! That's a great idea. Or at least a pixelated aeroplane, or snake, to avoid trademark issues...

Where would I find information about developing extensions? Not that I don't have too many projects as is.
 

olePigeon

Well-known member
@hjalfi I think @cheesestraws started a thread about how to write an Extension file. Plus, I think there's an old tutorial on how to make a Control Panel (which is very similar in many ways.) Plus the numerous copies of "How To Program C On the Macintosh" floating around. That's the one I was playing with for quite a while.

One of the big problems, however, is that all the official reference material is written in Pascal.
 

cheesestraws

Well-known member
Writing an extension is easy: it's literally just a function that gets called at some point in the boot sequence, which can then hook other things. An example of an absolutely trivial extension is this one, which just implements the M1 notch on System 7: https://github.com/cheesestraws/softnotch

Writing a filesystem is harder. Probably the easiest option to take would be to write something against the File System Manager API, which is present in 7.5+. I do not know that API at all, I've never used it, but there's an ext2 implementation with source here that might be a feasible starting point for learning it:

 

hjalfi

Member
Wow. That's remarkably straightforward. Although, the FSM API looks remarkably complicated. I also found Retro68, which provides a modern development environment (with C++17!) far MacOS. I don't think the FSM bindings could be used as-is with Retro68 but adding them to the Multiversal dataset doesn't look hard.

So, this is definitely doable. I'll admit that there would be a certain satisfaction in writing the thing with MPW on my PB150, though. Also, I have too many projects already...
 

cheesestraws

Well-known member
So, this is definitely doable. I'll admit that there would be a certain satisfaction in writing the thing with MPW on my PB150, though. Also, I have too many projects already...

Personally, I've stuck to using CodeWarrior Pro rather than retro68, but that's mostly because wrestling gcc is too much like what I do for a day job...
 
Top