This is the official DriveWire server for macOS. Integrations are performed as commits are made, and Sparkle is used for in-app updating.
CocoaPods is a dependency manager for Xcode projects which automates and simplifies the process of using 3rd-party libraries. You can install it with the following command:
$ sudo gem install cocoapods
Once you have installed CocoaPods, run the following command:
$ pod install
This will fetch the required frameworks and create the DriveWire.xcworkspace file. You can open the workspace file in Xcode and build the server. Use Xcode 9 or later.
You can use AppleScript to communicate with DriveWire server for macOS using the Script Editor application on the Mac. This is convenient if you want to automate your disk image creation and test workflow. Below are several "recipes" that you can use. Note that each script accesses the "first document" but you can also reference a document by name if you have more than one opened.
tell application "DriveWire"
tell server of first document
set baudRate to 57600
end tell
end tell
tell application "DriveWire"
tell server of first document
-- an error is returned if the drive number is illegal
eject drive 3
end tell
end tell
tell application "DriveWire"
tell server of first document
-- the insert command ejects any virtual disk from the drive before inserting the new one
insert image POSIX path of ("/Users/boisy/mydisk.dsk") into drive 0
change to port "usbserial-FT079LCRB"
end tell
end tell
This command is useful if you have altered the contents of the underlying disk image and want the server to detect those changes.
tell application "DriveWire"
tell server of first document
-- the insert command ejects any virtual disk from the drive before inserting the new one
reload drive 0
end tell
end tell
Sometimes you need to get DriveWire out of the way and not control the serial port.
tell application "DriveWire"
tell server of first document
-- turn off the serial port
change to port ""
end tell
end tell
tell application "DriveWire"
set newDocument to make new document
tell server of newDocument
set baudrate to 57600
-- an error is returned if the drive number is illegal or the path does not exist
insert image POSIX path of ("/Users/boisy/nitros9.dsk") into drive 0
insert image POSIX path of ("/Users/boisy/utilities.dsk") into drive 1
end tell
end tell
This server follows the specifications found here.