This is the repository for a Macintosh port of Gibson Research Corp's Trouble in Paradise, a diagnostic and repair tool for Iomega Zip and Jaz Drives. A big thanks goes to Steve Gibson for the x86 source that made this project possible!
📺 See a demo on YouTube!
📺 Watch Steve Gibson react to my unusual request in the November 16th episode of the "Security Now" podcast at the 1:05:10 mark.
This tool is meant for Macintosh computers with a SCSI port, which range from the Macintosh Plus, released in 1986; through the "Beige" Power Macintosh G3, released in 1997.
Click here to read what works and what doesn't
It has been tested in on the following environments:
Computer | Memory | System | Drive | Firmware |
---|---|---|---|---|
Macintosh Plus | 4MB | 7.0.1 | Zip Plus 100 Ext. SCSI | J.66 |
PowerBook 3400c | 144MB | 8.6 | Zip 100 Ext. SCSI | E.08 |
PowerBook 3400c | 144MB | 8.6 | Jaz 2GB Ext. SCSI w/ 1GB media | E.17 |
PowerBook 3400c | 144MB | 8.6 | Jaz 2GB Ext. SCSI w/ 2GB media | E.17 |
Power Macintosh G3 | 256MB | 9.2.1 | Zip 100 Ext. SCSI | C.22 |
Power Macintosh G3 | 256MB | 9.2.1 | Zip 100 Int. SCSI | J.03 |
What will not work or is missing:
- USB connected Zip drives have been reported to not work.
- The functionality for operating with password or write protected disks has not been ported.
- The partition recovery feature has been removed, since it is meant for PC disks.
This software is provided on as "as is" basis and the user assumes all risk of data loss. Although this software bears a similarity to the original by GRC, I may have introduced errors during the conversion process. Please do not reach out to GRC for support on this Macintosh port.
Compiled binaries are available on the releases page for people who have signed up for beta testing in the discussion forum
You can help this project in one of the following ways:
- Star this project on GitHub to show your support!
- Sign up to beta testing in the discussion forum!
- Become a GitHub sponsor to help fund my various open-source projects!
- MiniVNC: A remote desktop server for vintage Macintoshes!
- ScreenChooser: A dynamic background changer for vintage Macintoshes!
- Retroweb Vintage Computer Museum: A web-based museum of vintage computers, including the Macintosh!
I am open to paid consulting work related to retro-computing or software for vintage Macs. If you have a project in mind, please hit me up via my GitHub account!
To avoid data corruption, a cartridge must be unmounted prior to starting a test with TIP!
The best way to accomplish this is to start TIP without a disk in the drive you want to test. Then, insert the cartridge at the testing screen which indicates "Awaiting media...". TIP will recognize it if Mac OS mounts newly inserted cartridge and will give you the choice to unmount it.
Alternatively, you can use the command line from the "Advanced" menu to unmount a disk prior to starting a test.
Click here to learn how to use the command line
The command line is accessible by selecting run "Run Command Line..." from the "Advanced" menu. This is a unique feature of this port and is not present in the original TIP:
A cartridge will show up in the Finder as an icon; MacOS calls this a "volume". To prevent data corruption, you have to "unmount" the volume prior to testing. When a volume is unmounted, the icon will disappear from the Finder, but the cartridge will remain in the drive. To unmount a drive:
- Type
volumes
to show a numbered list of all Mac volumes - Type
unmount
followed by a volume's number to unmount it.
The unmount process will fail if you have any open files or applications in the volume; if this happens, close those files and try again.
- Type
list
to show a numbered list of all SCSI devices by SCSI ID.
Portions of the original code have been re-written in C++ and adapted
for compilation using Metrowerks CodeWarrior 8 Gold. The code is located
in the mac-cpp-source
directory.
Click here to learn more about the code
Native Macintosh SCSI Manager routines have been substituted for the Win32 ASPI routines and the UI has been re-created as closely as possible using QuickDraw routines.
Although the source code is materially different, I have maintained the layout and routines names of the original assembly code to allow for easy cross referencing and to make it easy to port additional functionality in the future.
- A big thanks goes to Steve Gibson for the source code that made this possible!
- Thank you to Stone Table Software for providing the tool I used to convert the Windows RTF docs into SimpleText...
- ...and to the Internet Archive's Wayback Machine for allowing me to access it long after the website was shut down!
- Thank you to Thomas Tempelmann sharing his LaunchLib code which I used to open the documents
- Thank you to Grant Hutchinson and Nikola Biscan for sending me 1GB and 2GB Jaz cartridges for testing.
The source code in the x86-asm-source
directory is the original Windows
source code as graciously provided to me by Steve Gibson. I am republishing
his code in this repository with his permission.