This release has been a long time in the making. I have been quite busy designing the next generation of Applesauce hardware as well as preparing for a new production run. The new revision 2 hardware will add support for 34-pin PC drives, and a lot of the R&D work that goes along with that has been baked into this release. But there is also a ton of new stuff added to the client.
Drive Picker and Configuration
There is a new drive configuration system in place now. It was primarily designed for the upcoming PC-drive support, but also comes in handy for Disk II compatible drives. When the app starts up and locates the Applesauce hardware, it will now ask you to identify the drive that is connect. First time through this, there will be no known drives, so you will need to add one. The configuration screen that comes up can be a bit intimidating, but most of the information is for PC drives, so you are free to ignore it. You should enter the Manufacturer and Model name and then hit the “Check Settings” button. This will have Applesauce check the drive to determine things like how many tracks the drive can reach. You can then hit the “Save & Use” button to get started using the app. The next time you come into the app, the drive entry will be ready and waiting for you to use. Applesauce can automatically recognize Apple 3.5 Drive and SuperDrives, so no need to add those as drives.
The Disk Writer has been completely revamped to add a lot of new capabilities. It can now write disks for additional non-Apple platforms like C64 and Atari 8-bit. More platforms as well as copy protected disk writing is coming up next!
- Many improvements to the analysis code as well as new features all over the Disk Analyzer.
- The repair functionality of the “Compare and Repair” pane has been completed. This allows you to merge multiple broken disk images together in order to create a working ones.
- Improved log messages describing various copy protections that have been discovered.
- Improved sector repair code to handle more weird edge cases.
- Resolved race condition that could cause disk visualizations of MFM and FM disks to be distorted.
- Fixed issue where IBM sectors were sometimes being limited to a maximum of 512 bytes.
- For copy protected Apple II software, there is now an improved system for detecting and deciphering custom nibble translate tables. Figuring out custom nibble tables for data disks can be tricky, so Applesauce will check other disk images that open for hints. So for example, if you open up the boot disk and the Disk Analyzer is able to figure out the table, then leave the boot disk open and open up the data disks. If the data disks use the same protection, it will use what it found on the boot disk to verify and repair the data disks.
- Tracks that are comprised of multiple bit-rate timings can now be marked as needing to be exported as flux timings.
- Major restructuring of the firmware in order to support PC drives for the upcoming revision 2 Applesauce PCBs.
- Support for extracting source code from many Forth variants. The Forth language didn’t use files for source code, but instead just stored raw data in disk sectors. There is a Forth Blocks item under the Tools menu as well as a Bulk Processor for extracting the source. It has been tested with Apple II, C64, Atari, and MS-DOS versions of Forth, but may work for others as well.
- Added support for TI-99/4 disks. Still need to add support for loading/exporting to TI-99/4 disk images.
- Support for 400k ProDOS images.
- Fix for sparse files under Apple DOS 3.3.
Disk Image Formats
- New WOZ 2.1 support that allows for having tracks that use even more detailed flux-timing data.
- New MOOF file format designed for Mac floppy disks. It allows for copy protected disks that can work under emulation as well as containing metadata to better describe the disk contents.
- Supports loading NIB and N35 files for Apple II disks.
- When iterating through nested folders, the Bulk Processor was searching for file extensions in a case-sensitive manner, so it could miss some files. This has been fixed.