I'd like to have a watched directory on my modern Mac, and on my Mac Plus, which syncs itself with very little effort from me. (Given non-multitasking nature of the Plus/OS 6, I think user will have to take the action of starting the sync tool and letting it run; not sure how well it will perform when running in the background on System 6). I have my Plus connected to my Big Sur Mac with a Keyspan adapter, using Serial (the app) in place of working serial drivers. I do some Modem transfers that way. I also have a SCSI2SD, which is pretty awesome, but not actually all that easy to transfer files with. Certainly the level of effort is too much for me to want to nightly swap stuff around. I just got a RS232 WIFI modem (from Jim Drew's place), and since I had a 25 pin to Mac 8 pin serial cable, I tried it out on the Plus, and it worked like a charm. So now I'm thinking... WIFI synced files!
Does anyone know if such a tool exists? Running purely off a serial connection, no TCP/IP etc.?
I googled, but didn't find much in the retro sphere.
If nothing exists, it might be a fun project. Would anyone be interested? I'm not sure where to start with it exactly, as that last time I wrote something that handled modem commands was a BBS I wrote in BASIC back in 19-who-knows-when. I'm thinking it needs a modern Mac (or unix or PC, but I wouldn't want to handle those parts) app, a retro Mac app, and an Amiga app. Ok, "needs" is a strong word, but it would be cool.
I'm hoping something already exists, but here's a first pass at a rough design concept. Thoughts? Suggestions?
----
Overview
Goal
Why would this be helpful?
General Concept
[*]Each side runs the following loop, on some pre-determined timer:
Does anyone know if such a tool exists? Running purely off a serial connection, no TCP/IP etc.?
I googled, but didn't find much in the retro sphere.
If nothing exists, it might be a fun project. Would anyone be interested? I'm not sure where to start with it exactly, as that last time I wrote something that handled modem commands was a BBS I wrote in BASIC back in 19-who-knows-when. I'm thinking it needs a modern Mac (or unix or PC, but I wouldn't want to handle those parts) app, a retro Mac app, and an Amiga app. Ok, "needs" is a strong word, but it would be cool.
I'm hoping something already exists, but here's a first pass at a rough design concept. Thoughts? Suggestions?
----
Overview
Goal
- Allow a retro computer connected to a modern computer, or another retro computer, to keep 1 folder synced between them, automatically, over a serial null modem connection or RS232/WIFI modem connection.
Why would this be helpful?
- Even with SCSI2SD, Gotek, Emu Floppy, and all the great media-based ways of exchanging files between a retro and modern computer, it’s easier to not schlep files/disks/cards back and forth
- Not everyone has a Gotek/etc in all of the their retro computers
- Wireless (if you use WIFI modem) means one less cable/external device to worry about
General Concept
- Start up sync program on ‘host’ computer
- Host program scans its watch directory, and notes names and byte sizes of each file
- Start up sync program on ‘client’ computer
- Client program scans its local copy of the watch directory, and notes names and byte sizes of each file
- Client attempts to connect to host. If no connection, pause or go into retry loop, per settings.
- Confirm connection
- Client program informs host it is going to send its list of files
- Host confirms it is ready
- Client sends list of files and sizes
- Host receives list of files, compares to its own, and determines if it is missing any from the client, or if the client is missing any on its list
- If host is missing 1 or more files, it puts those into a request queue.
- If client is missing 1 or more files, host puts those into a send queue.
BIAS: assumption is that a file on host but not on client hasn’t been deleted from the client, but was instead missing all along, so action is to push that file to the client from host. If you want to delete a file from the watch directory on the client, you’ll want to either 1) delete it from the host instead, or 2) delete it IN the client program, not in your normal file manager (Finder, Workbench, etc.)
[*]Each side runs the following loop, on some pre-determined timer:
Anything in the in queue? —> handle it
- Anything in the out queue? —> handle it
- Scan directory
- Any new or changed files compared to previous version of directory scan? —> create send request, put into out queue
- Any missing files compared to previous version of directory scan? —> create delete request, put into out queue
- (If client has an interface that allows for file management and deletion Did user choose to delete a file from the watched folder? —> create delete request, put into out queue