• 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.

SSD for a HyperDrive: A Mini Guide

Bolacore

Active member
A while ago I picked up this Macintosh 128K (Original repair thread above), and it turned out to be a HyperDrive 20 equipped system with a 512Ke board. After repairs the board was functional, but mine was missing both the hard drive and the power supply, and trying to find an original compatible drive was incredibly difficult. I instead decided to get this working with an MFM emulator, and it works brilliantly. I wanted to post this here, so if anyone else in the future has a need for a replacement drive (or even power supply) they can use this :)

Firstly, the power supply: I replaced this with a bog standard AC to 4 pin molex adapter wired into the same AC spots the original supply were. There's nothing really special about the original GCC one, and I'm assuming it was incredibly noisy as the kit included a number of ferrite chokes. The HyperDrive board itself expects 5V from an external power supply, and ground - the 12V side is not connected as far as I know. It will not work without this connected, or even be detected by the software. The fan inside can be hooked straight up to 12V from the power supply, nothing special about it either. If you still have your original power supply, you can of course just use it to power the SSD. 

For the drive emulator, I used one of these: https://www.pdp8.net/mfm/mfm.shtml - it's a little board that slots into a BeagleBone and allows it to emulate up to two MFM drives, and even read from real MFM drives (So you could clone your existing hard drive onto it). I got the DIY version and soldered it up myself with the super capacitor option. Hardware was super simple - to test it I had it sitting outside the Mac:

IMG_20200705_121221.jpg

Then I SSH'ed into the BeagleBone and started up the emulator software. You can get a premade image from the same site, or compile it yourself from GitHub of course. The command I used for my drive was:

./mfm_emu  --drive 1 --file ../emufile_a --initialize --cylinders 615 --heads 4

This matches the cylinders + heads from the MiniScribe 8425 that would have been in my system. Once I started this, I could watch the log output on my laptop and see what the Mac was trying to read and write to. From here, it was just simply launching the HyperDrive software. I used the HyperDrive V3R1 disks from Macintosh Garden, and launched Manager, which then prompted me to initialise the drive. After starting that, I could see all the writes working correctly on the BeagleBone logs. It took a few minutes, and afterwards I was ready to start. I created a new drawer as HFS in Manager, and called it Startup, then quit back to the desktop.

Then back on the desktop, I could see the Startup drawer, so I copied System + Finder onto the drawer, then restarted the Mac. 

IMG_20200711_170153.jpg

It fired right up, and booted faster than any other compact Mac I own (And even my 2019 Mac :p ). The only thing left was to tidy up the cabling a bit, and 3D print a little bracket to hold the board in place:

IMG_20200705_151716.jpg

To make sure the software always launches at boot on the BeagleBone, the emu service should be enabled:

systemctl enable mfm_emu.service

The nice thing about the software on there is that it detects the power being shut off. Since there's super capacitors on the board, it'll keep the board running long enough to save the virtual drive file and power off gracefully. 

All back together, and with a reproduction of the original sticker:

IMG_20200712_122059.jpg

It works fantastic - from cold start to desktop is under 10 seconds every time, and is faster than my SE/30 with a SCSI2SD. Really stoked to have this thing running. Hope this mini guide helps someone get their's working too :)

 

Crutch

Well-known member
This is a great!   I have a HyperDrive and am very cognizant that it will eventually fail - great knowing this is an option. Would you consider sharing your 3D printed bracket?

 

Bolacore

Active member
This is a great!   I have a HyperDrive and am very cognizant that it will eventually fail - great knowing this is an option. Would you consider sharing your 3D printed bracket?
Here it is: View attachment hyperdrive-mount.stl. Mines currently stuck down with some strong double sided tape since I didn't want to drill any more holes. I'm sure you could extend it a bit to hook into where the power supply mounts. It's a tight fit, but it holds the board very snugly in place. 

 

JDW

Well-known member
@Bolacore Great work!

What is the drive capacity in megabytes that you assigned? And did you experiment to see what the maximum drive size can be with the hyperdrive controller and software?

 

Bolacore

Active member
Right now it's the original 21-ish MiB of the original drive, which gives 18MiB formatted. The size is hard coded in the ROMs, and there's no option to specify the number of cylinders/heads in the HyperDrive software. AFAIK there was no way to discover the size of a drive with the ST-506 interface either, so, you'd be stuck with whatever size the board was made for. 

 

JDW

Well-known member
Then I SSH'ed into the BeagleBone and started up the emulator software. You can get a premade image from the same site, or compile it yourself from GitHub of course. The command I used for my drive was:

./mfm_emu  --drive 1 --file ../emufile_a --initialize --cylinders 615 --heads 4
Can you explain a bit more what you did here?

Can you do all that with the BeagleBone connected via USB to a modern MacOS X computer?

 

Bolacore

Active member
Can you explain a bit more what you did here?

Can you do all that with the BeagleBone connected via USB to a modern MacOS X computer?
Of course - on the premade BeagleBone image, this software is all installed on it already. To run this command, you'd plug a USB cable into the BeagleBone, and then SSH to it by doing "ssh debian@192.168.7.2" (It always has this IP) in a Terminal on macOS. Then you'd switch to root with "sudo su", and then "cd ~/mfm", then you can run the command above.

This command just creates the virtual hard disk with the size specified - once you've run this once, you don't need to do it again. You can also run this again to create a fresh image, or to have multiple virtual hard drives if you wanted to that you can swap out. 

 

JDW

Well-known member
Thank you for the explanation.

The main issue with the setup at this point would seem to be price.  It would cost well over US$200 for the total setup (especially when you factor in shipping charges), and you still need the HyperDrive controller.  I have one of those (and a working 10MB drive too), but the price for all this glorious SSD replacement goodness is high.  Maybe when someone donates that dual board setup to my YouTube channel some day I can do a video on it. :)  

 

Crutch

Well-known member
I think the point of this was that OP didn’t have a compatible HD and was having a hard time finding one. 

 

Bolacore

Active member
Right, I wasn't fussed about the costs myself, it was purely to get my own system going again - compatible drives in the Netherlands seemed to be going for €150-300 with no real guarantee they worked. I think this whole setup cost me maybe €110 in total. 

 

JDW

Well-known member
@Bolacore

When you were doing research into replacing the MFM hard drive, did you know about the DREM?  

I am just curious if you knew about the DREM but decided upon the BeagleBone solution for a particular reason.  In terms of cost though, your chosen solution is cheaper overall.

 

Bolacore

Active member
@Bolacore

When you were doing research into replacing the MFM hard drive, did you know about the DREM?  

I am just curious if you knew about the DREM but decided upon the BeagleBone solution for a particular reason.  In terms of cost though, your chosen solution is cheaper overall.
I did see it, but the DREM would have had a €70 or more import cost, which would've made it quite a pricey option. Plus I like that the software for the BeagleBone is open source, it's been fun reading through how it works, and I can manage it over WiFi to switch out virtual drives as needed. 

 

JDW

Well-known member
I did see it, but the DREM would have had a €70 or more import cost... 


Thank you for the feedback.  The main reason I was curious is because @Crutch had earlier given his opinion that cost was less of an issue in this project; but as I suspected, cost is indeed a factor in anything we do.   :)  You took the more frugal path, and I can appreciate that.  As to the merits of open source and whether that would be better than the more expensive DREM, well, that's something I do not know as I have not compared the BeagleBone implementation with the DREM, nor am I as savvy on the programming side as you are, @Bolacore.

In terms of hardware layout though, the DREM does appear to be more compact overall because it's a single board versus the solution you chose which has a main PCB onto which you must add the BeagleBone.  Even so, the kit you used is perhaps more interesting because it has the super capacitor option the DREM does not have.  I should mention though that the DREM is sold out and there is a newer revision coming in March.  I doubt that will include a super capacitor option, but who knows. 

Anyway, thank you for sharing details of your project.  I may try it out myself some day when I start getting paid my full salary again.  I hope that day is soon!

 
Last edited by a moderator:

MOS8_030

Well-known member
Holy kow that's cool!

Good to know there's a modern replacement option for the time when the HD in my Hyper Drive Mac gives it up.

Now, could this same solution work for a Lisa/ Mac XL?

 

MOS8_030

Well-known member
Well, specifically I was thinking this could replace the hard drive in a Profile Drive unit, to be used with a Lisa/MacXL.

Assuming the the Profile Drive was otherwise functional.

It's just an MFM emulator, correct?

 
Top