Readme.md updates

This commit is contained in:
ultramagnus_tcv 2015-12-31 10:50:35 -06:00
parent 106ab2e211
commit e5f1cf74ed
1 changed files with 27 additions and 11 deletions

View File

@ -4,22 +4,22 @@
##Usage:
`$python Driv3rs.py [SOS_DRIVER_FILE] [output_file.csv]`
##Description:
##Description and Philosophy:
**Driv3rs.py** is a Python 2.7 script written for Apple /// fans. The Apple /// was one of the first computers to introduce the concept of device drivers, small programs that allowed a user to interact with hardware on-board, internally installed, or attached to the computer externally. Over the course of the few years of the Apple ///'s existence, hardware manufacturers built devices and wrote device drivers to support those devices. However, the Apple /// simply didn't achieve as much prominence as the Apple II-series. Therefore, a lot of drivers remain either undiscovered or long-forgotten.
**Driv3rs.py** is a Python 2.7 script written for Apple /// fans. The Apple /// was one of the first computers to introduce the concept of device drivers, small modules that installed into an operating system to run either built-in hardware, internally installed cards, or devices attached to the computer externally. Over the course of the few years of the Apple ///'s existence, hardware manufacturers built devices and wrote device drivers to support those devices (e.g. Apple's ProFile hard drive, the CFFA3000, etc.). However, the Apple /// simply didn't achieve as much prominence as the Apple II-series. Therefore, many drivers remain buried on imaged disks scattered on the Internet and elsewhere.
Driv3rs.py hopes to help that situation. Given an SOS.DRIVER file properly exported from an imaged Apple /// disk, Driv3rs.py can produce a Comma Separated Values (CSV) file. This CSV contains a whole host of information including device name, commentary, manufacturer, among many other potentially useful pieces of information.
Driv3rs.py hopes to help that situation. Given a SOS.DRIVER file properly exported from an imaged Apple /// disk, Driv3rs.py can produce a Comma Separated Values (CSV) file. This CSV contains a whole host of stats including device name, commentary, manufacturer, as well as other potentially useful pieces of information.
When using an Apple ///, users would run a utility called the System Configuration Program (SCP) to install and uninstall drivers. Drivers came from Apple and/or on other floppy disks. Once the user chose all the needed drivers, the user would create a new bootable floppy disk. This disk contained the files necessary to boot Apple's Sophisticated Operating System (SOS) and the companion SOS.DRIVER file. From that driver file, all the needed drivers would load into memory upon boot.
When using an Apple ///, users would run a utility called the System Configuration Program (SCP) to install and uninstall drivers. A manufacturer, such as Apple Computer, would provide a driver on floppy. The user would then add the supplied driver to a configuration via the SCP. Finally, the user would instruct the SCP to create a new Sophisticated Operating System (SOS) bootable floppy with the new driver installed into a SOS.DRIVER file. Once booted from that floppy, the driver would then support the installed hardware.
Driv3rs.py works by opening the SOS.DRIVER file and then walks the Device Information Block (DIB) for every driver found within. The information gathered closely parallels the outlined DIB published in Apple's "Apple /// SOS Device Driver Writer's Guide." All information is eventually stored in the output CSV file.
Driv3rs.py works by opening the SOS.DRIVER file and then walking the Device Information Block (DIB) for every driver found within. The information gathered closely parallels the outlined DIB published in Apple's "Apple /// SOS Device Driver Writer's Guide." All information is eventually stored in the output CSV file.
##Requirements:
* Imaged Apple /// disk
* SOS.DRIVER files to be searched
* AppleCommander
* Java for AppleCommander (Java 6 if you want to use AppleCommander's GUI).
* A utility like AppleCommander to manage files on imaged disks.
* Java, if required for your third party utility.
##Suggested Workflow:
@ -29,21 +29,37 @@ Driv3rs.py works by opening the SOS.DRIVER file and then walks the Device Inform
4. Place the SOS.DRIVER file in same directory as Driv3rs.py.
5. Run the script according to the Usage section above.
Depending upon the name you chose for the output file, a CSV file will be generated with driver information found inside the SOS.DRIVER file.
A CSV file will be generated with driver information found inside the SOS.DRIVER file.
(**Note:** If you choose the output name of a CSV file that already exists, Driv3rs.py will append the new SOS.DRIVER file's contents to the existing CSV file. This is handy if you're processing multiple SOS.DRIVER files.)
(**Note:** If the CSV already exists, Driv3rs.py will append the new SOS.DRIVER file's contents to the existing CSV file. This is handy if you're processing multiple SOS.DRIVER files.)
##Notes about AppleCommander:
AppleCommander is a utility written in Java for Apple II users. It allows manipulation of many different types of Apple II-based imaged floppy disks, including disks formatted in DOS 3.2, 3.3 and ProDOS. Apple's Sophisticated Operating System (SOS) is ProDOS's predecessor. Therefore, AppleCommander ProDOS features can be used to easily export files from SOS disks.
AppleCommander is a utility written in Java for Apple II users. It allows manipulation of many different types of Apple II-based imaged floppy disks, including disks formatted in DOS 3.2, 3.3 and ProDOS. Apple's Sophisticated Operating System (SOS) is ProDOS's predecessor. Therefore, AppleCommander's ProDOS features can be used to easily export files from SOS disks.
Because AppleCommander is written in Java, you must have Java on your workstation in order to use it. AppleCommander's command-line functions work fine in Java 8. However, AppleCommander's GUI requires the 32-bit version of Java 6 which is very old at this date and is vulnerable to security issues. In short, we recommended using AppleCommander's command-line features in Java 8 rather than installing Java 6.
Because AppleCommander is written in Java, you must have Java on your workstation in order to use it. AppleCommander's command-line functions work fine in Java 8. However, AppleCommander's GUI requires the 32-bit version of Java 6 which is very old at this date, vulnerable to security issues and hard to obtain. In short, we recommended using AppleCommander's command-line features in Java 8 rather than installing Java 6.
Here's the suggested command-line to enter when exporting using AppleCommander.
`$java -jar AppleCommander-1.3.5.13-ac.jar -g [ImagedDisk.dsk] [SOS.DRIVER] [ExportedFilename]`
##Notes about other utilities:
There are many disk-manipulation utilities for modern computers that can work to export files from imaged Apple /// disks. AppleCommander is one. You can also use CiderPress.
## Contributions
You can make contributions to the script by either registering at Github and sending Pull Requests, or you can contact the authors on Twitter, @ultramagnus_tcv and @16kRam. We are most interested in updates to the internal dictionary of manufacturers.
##Special Thanks
My continued appreciation goes to 16KRam and to the crew of the Drop III Inches Podcast.
##Links:
AppleCommander: (http://applecommander.sourceforge.net/)
Java: (https://www.java.com/en/download/)
CiderPress for Windows: (http://a2ciderpress.com/)
CiderPress for WINE (Linux and Mac OS X): (http://retrocomputingaustralia.com/rca-downloads/)
Drop III Inches Podcast (http://drop-iii-inches.com/)