THE SCSI HACKER V1.1 A Format/Uitility Program for Apple's SCSI Card And ANY Hard Drive !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! THE SCSI HACKER IS A "NO FRILLS" PROGRAM DESIGNED FOR THOSE WHO UNDERSTAND HARD DISK LOW-LEVEL FORMATTING (AND ITS IMPLICATIONS). THE PROGRAM HAS LIMITED WARNING MESSAGES AND NO HELP MENUS. IT IS CAPABLE OF TOTALLY DESTROYING ALL DATA ON ANY HARD DISK CONNECTED TO AN APPLE SCSI CARD, WITHOUT ANY CHANCE OF RECOVERY VIA "UNDELETE" TYPE PROGRAMS, ETC. THEREFORE, IF YOU DO NOT WHAT YOUR DOING, DO NOT USE THIS PROGRAM! (C) 1988 Joe Jaworski 18405 Tamarind Street Fountain Valley, CA 92708 GEnie: JVJAWORSKI CompuServe: [73307,310] THE SCSI HACKER is FREEWARE. It is copyright material but you may use it and/or distribute it free of charge to anyone for personal, non-commercial use. Revision History: Version 1.0 First Release 12/19/88 Version 1.1 Fix Error reporting bug 3/19/89 To get the most out of SCSI HACKER, you will need the following: 1) Apple SCSI Card (Rev C. EPROMs) 2) A SCSI Integrated Hard Drive or ST506/SCSI Controller 3) HDSCPartition program (included on the SCSI.TOOLS diskette) 4) ADV.DISK.UTIL (from the GS System Tools diskette) 5) DiskTimerGS (FREEWARE program, available on most BBSs) INTRODUCTION THE SCSI HACKER allows you to low-level format any hard disk drive in your choice of interleaves. This will allow you to optimize your hard drive for the fastest possible speed. It also provides an extended ("overnight") test program that will verify proper operation of a disk after formatting. In addition, you can selectively park the heads on any drive connected to the SCSI Bus. Needless to say, you should have adequate backup before experimenting with this program. MAIN MENU After launching, THE SCSI HACKER provides the following options in its Main Menu. If you get an error message, either a SCSI Card was not found in any of your slots or there are no devices currently active on the SCSI Bus. If you get an SMP/ProDOS Error and an error number, see note 6 in the section on troubleshooting at the end of this file. NOTE: The Apple SCSI Card only issues a SCSI HARD RESET on power-up. Among other things, this forces you to power-up your drive before your system (unless the drive your using can respond to UNIT READYs before the motor is up to speed). If things aren't working properly, power-down for 10 seconds and power back up again- Drive first, then Computer second. Test Unit: This option performs a READ test of every block on a formatted partition. It uses what is a called a "butterfly" test, in which blocks are tested from the lowest to the highest and then are incrementally changed, which excersizes the stepper motor and most of the electronics on the hard drive. This test is non-destructive (only does READs) to the data on the drive. If you receive an error, HACKER will report the logical block number that is bad. Run Mr.Fixit or any other bad-block lockout program to prevent ProDOS from using the block. Depending upon how defects are mapped on your drive, bad blocks may be normal. Select Unit: This option allows you to select any unit currently active on the SCSI bus. The currently selected volume (if any) is listed at the bottom of the screen. Also included is the current slot. If you have two SCSI cards installed in your system, only the one in the upper-most physical slot can be used with SCSI HACKER. Low-Level Format: This option allows you to perform a low-level format of any drive. You will also have the opportunity to select an interleave value for the low-level format. This test is destructive, destroying all data, all partitions, and all directories on the drive selected. For the last time, don't play games with your data. Do a full back-up before using this program. Park Heads: This test will allow you to park the heads of any and/or all devices currently active on the SCSI Bus. Quit: This exits you from THE SCSI HACKER, getting you back to more friendly territory. OPTIMIZING YOUR HARD DRIVE A Proper Interleave setting of your hard disk can make a tremendous difference in performance. Most manufacturers who sell hard drives (especially those who do in different markets) optimize the interleave factor for either the IBM-XT or the Mac. These systems are faster that IIGS's and use interleave factors that are completely different. The object here is to maximize the interleave for the IIGS and GS/OS. Once done properly, you will truly notice a speed-up in Disk I/O when using your everyday applications. A few notes that will save you headaches: 1) Low-level Format your drive at room temperature. I've worked on these things long enough to know that most drives suffer from temperature differential problems, aggrevated at the high end. Leave your system powered-on for a half-hour before starting. 2) Make sure the drive is terminated. Look near the connector on the Drive's printed circuit board for resistor termination packs. Make sure they're firmly in their sockets. Also set the SCSI ID to 6 (for single drive setups) and if you have a choice of LUN settings (see your drive/subsystem manual), set the drive for LUN 0. FINDING THE BEST INTERLEAVE The first step is to find the best interleave for your setup. This is a trial and error period that will take some time, but once done, you'll never have to do it again. Step by Step Procedure: 1) Low-level format the drive using the low-level format option in the Main Menu. As a starting point, set the interleave value to 5. 2) After formatting is completed, Run the HDSCPartition program that came on the SCSI.TOOLS diskette included with your Apple SCSI Card. NOTE: If you have upgraded your SCSI card to a Rev C ROM via your dealer, make sure you also get a copy of the diskette called "SCSI Card Utilities". If your dealer is stupid (not uncommon), ask him if you can make a copy of the diskette included in the box with the new SCSI cards. With HDSCPartition, It doesn't matter what partition sizes you set at this point, as long as you set one that is at least 10 megabytes in size. NOTE: If you're launching these programs from the FINDER, be sure to answer EJECT from the Finder's request to initialize the volume. DO NOT use the Advanced Disk Utility (ADU) at this point. The two programs do two different things. HDSCPartition creates a DPM (Device Partition Map), while ADU will only allow you to modify the DPM. If ADU doesn't find a DPM, it will low-level format your drive at 1:1 interleave, something you do not want. Hence, don't use ADU at this time. 3) After running HDSC partition and then quitting, answer "Initialize" to the Finder's prompts this time, instead of EJECT. This will high-level format your drive, allowing you to name the volume(s). If you're not using the FINDER, run Copy II Plus or the FILER or any other program that does high-level formatting. Name the disk(s) anything you want. At this point, don't worry about capacity, even if your 64 Magabyte drive only shows up as 20 Megabytes. We'll be fixing that shortly. The High-Level Format should take only a few seconds. If it takes longer, (indicating that a low-level format has been forced), you messed up somewhere, so go back and start over. 4) Put a Copy of DiskTimerGS on the new volume and launch it from there. Write down the test results. 5) Now try an interleave factor of 10 ($0A), going through each step again. Now do it again with 15($0F). What we're doing at this point is finding the best interleave factor. For example, suppose you get the following results from DiskTimerGS: InterLeave: 5($05) 10($0A) 15($0F) 20($14) READ Timing: 90 61 69 78 In this example, the READ numbers from DiskTimerGS got dramatically better when going from an interleave of 5 to 10. This means that the optimum interleave factor is somewhere between 5 and 10. (Don't concern yourself with the SEEK or ADAPTER numbers from DiskTimerGS). Also, you might want to run DiskTimerGS twice each time to make sure your numbers are stable. Now go back and do the interleave one at time, from 5 through 10. Your results might look like this: InterLeave: 5($05) 6($06) 7($07) 8($08) 9($09) READ Timing: 90 95 96 58 59 Bingo! An interleave of 8 is best. This is where the READ timing drops off dramatically. However, as a rule of thumb always add 1 or 2 to get best overall performance when using real applications. Therefore, the best interleave for your drive is 9 or 10. Now do the following: 1) Reformat at an interleave of 10 (if needed). 2) Run HDSCPartition as described above. 3) Run ADU. 4) Select your drive and set up your partitions exactly the way you want them. You should now get your full capacity. The partitions will be named "Apple //" from HDSCPartition. Name them to whatever you want to use as the volume names, adjusting partition size accordingly. 5) You're Done! Your hard drive will now work at peak performance. USING TEST It's a good idea to run the TEST option at least two passes on each partition before using your drive. TEST will run continuously until stopped by the ESC key, so if you want, you can run it overnight or all day while you're at work. Be patient. Even two passes can take over an hour, depending upon the capacity of your drive. You'll have to high-level format the drive before running test. PROBLEMS, TROUBLESHOOTING, CAVEATS 1) It has been reported that PARK doesn't work right on Chinook drives. The park routine simply issues a SCSI STOP UNIT command to the unit selected. However, Seagate, Quantum, and Rodime drives support this command, as it is part of the Common Command Set and Apple's SCSI variation. 2) If your subsystem uses an ST-506 drive and a separate SCSI controller (in addition to Apple's SCSI card), make sure the drive's defects are recorded in the Primary List. The low-level format routine will map out primary list defects, but not grown defects. You may have to use an IBM or Mac with appropriate software to access the Mode Select pages to do this. Check the manual of the Controller. An alternative to fixing defects is to run a bad block mapping program (ala Mr.Fixit), but this is a less reliable method of finding all the media defects. 3) If your low-level format operation takes a horrendous amount of time, your controller is probably doing media Certifies. This is good, since all defects are being mapped out for you. Be patient. 4) SCSI HACKER won't run if it doesn't find an Apple SCSI card and at least one Unit on the SCSI Bus that will respond to a UNIT READY command. Therefore, the program won't work if you try to use it with anyone elses Apple Disk Controller card. 5) The permissable Interleave Factors are governed by the physical number of sectors on your drive. For standard RLL 26 sector units, you can use from 0 to 25 (0 or 1 will both format out to an interleave factor of 1). For 13 sector MFM drives, expect a range of 0 through 12. SCSI HACKER won't format if you specify a number out of range and will report an error message. 6) All error numbers reported are passed from the SmartPort and/or ProDOS 8. See APDA's SCSI reference manual or the ProDOS 8 reference manual for a list of error codes and their meanings. Most of all, have Fun! And I hope I took a little mystery out of this Hard disk game. -Joe