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

Disk Backup over Serial port

benibb

Member
Hi There
 
I want to share a backup application I made. It can be used to backup Macintosh volumes over the serial port.
I created it, because I couldn't retrieve data I had on a exotic SCSI 40 pin harddisk used in the old PowerBook series (e.g. PowerBook 140, 145B, etc.)
The only interface to current PCs I had was the floppy drive, but this does not allow for good data retrieval. With my script, it's possible to copy the original disk on block level, mount it in an emulator like Basilisk II and even do some data recovery of deleted files with the old Norton Disk Utilities.
 
The solution is based on 2 components:
- A native Macintosh application (based on MPW SIOW) to transfer volumes onto the serial port
- A python based script that receives the backup data on the serial port
 
In the file, you find following data:
- serialDiskCopy.sit -> StuffIt 5.5 compressed version of the native Macintosh backup application and the MPW source files
- serialDiskReceiver.py -> the python script to receive the backup data (i ran it on a recent Ubuntu machine)
- floppy.bin -> a HFS formated floppy containing a minimal system 7 and the backup application (can be used as a boot device and to run the backup app from)
- howto.gif -> a gif, that shows the usage of the applications
 
For correct wiring of the Macintosh serial port (Modem port) to the RS232 port used on common PC's, please use a quick Google search or look at the howto gif. Only TX and GND are needed.
 
Transfer is limited to 56k caused by the Macintoshs serial port speed limit. So 40 MB take aproximatley 2 hour. Back to modem speed ;)
 
 
Plase note that the application is far from beeing polished and compatible with every system, I only tested it on my setup. But still I think it can act as a good base for other persons that need to backup their disks in a similar fashion and can therfore be a help to the 68k community.
 
I want to thank David Shayer, the original author of the Hard Disk ToolKit and SEdit. These tools were used on the old Macs to do low level disk operations. David and SEdit helped me a lot when developing the application! (He even provided me the original source code of SEdit ;)
Thanks also go out to Stephan Brumme for his crc32 implementation I used to calculate checksums to detect data transfer errors.
 
 
That all for now, have fun... If you have questions, feel free to ask...
 
Last edited by a moderator:

Dog Cow

Well-known member
This is the application that I was contemplating writing. The download link doesn't work for me; says attachment not found. :(

 

LaPorta

Well-known member
I know this is crazily old, but interesting.

How does one reconstitute the disk image on the original machine?
 

olePigeon

Well-known member
Also .... could someone implement this into one of the homebrew TechStep cartridges? How cool would it be to be able to directly back up the HDD from a non-booting Mac? I mean, sure, you could take the HDD out, but I could think if niche reasons why it wouldn't be possible. Like if the person doesn't have a SCSI capable machine to read the HDD in the first place.
 

benibb

Member
@LaPorta Do you mean like restoring a backup from a current machine back to the Mac? This is not implemented, the Mac just sends the disk data out to another machine. But theoretically I guess it should be possible. Probably one needs to boot of a floppy, else the running System gets overwritten by the restore...

I saw that @dogcow created a similar utility in 2020: https://68kmla.org/bb/index.php?threads/teledisk-disk-transfer-utility.36902/. I think his one is a bit more polished. Maybe he wants to implement the functionality on his tool ;-)...

BTW: I added the project lately to my Github: https://github.com/nerdprojects/serial-disk-copy
 

LaPorta

Well-known member
Yeah that’s just what I meant. I figured if you could have reversed the process, that would complete the loop.
 
Top