• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Plus reads SCSI2SD fine but can’t boot from it

Crutch

Well-known member
Having a problem booting my Pluses from a SCSI2SD that’s driving me nuts.  I am assuming I’m looking at bad Boot Blocks or similar, but I can’t for the life of me figure it out.

I have a SCSI2SD 5.1 that is (I think!) properly set up, partitioned into three drives (500MB + 500MB + 1GB).  The SCSI2SD is terminated, formatted and 2 of the 3 volumes have blessed System Folders.  Here are my symptoms:

- If I start with an additional (external, spinning disk) SCSI HD in the chain, set to boot from that drive using System Picker, everything works fine — it boots from the second HD and the SCSI2SD volumes appear on the desktop and work great

- If I remove the second HD (leaving the SCSI2SD connected), and turn on my Plus, it POSTs and runs memory check then shows me a black screen that never goes away.  It gets stuck like this forever.

- If I leave the SCSI2SD connected but EJECT the SD card before startup (again without the external HD), the Plus starts normally and I can boot from floppy.  If I re-insert the SD card before “Welcome to Macintosh”, the Plus will hang at “Welcome to Macintosh” (I think when the SCSI Manager initializes?).  If I wait until the Finder loads then re-insert the SD card, I can run Lido from floppy, it sees my 3 volumes on the SCSI2SD just fine, and can “Mount” them, switch-launch to the Finder on my SCSI2SD, and run everything normally until the next restart .. at which point I’ll get stuck at a black screen again unless I eject the SD card.

Since this started happening, I have tried re-initializing my SCSI2SD volumes with both Lido and Special/Erase Disk..., then copied all my files back over.  Nothing seems to help though.  (By the way and very strangely, formatting the drive from Lido didn’t actually erase any files even though Lido said the format completed successfully!!  Special/Erase Disk did, however.)

This problem happens with BOTH of my Pluses so it’s definitely something with how the drive is configured (by the way, both of these Pluses have 030 accelerators ... I wonder if any chance related?  Maybe I’ll try removing one...).  Any ideas much appreciated!

 

lisa2

Well-known member
There is a SCSI issue with accelerated Macintosh Plus models, "blind" SCSI transfers fail due to the "blind" mode being heavily timing dependent on these models.  

My guess is that your spinning drive's driver most likely has  "blind transfers" disabled,  and your SCSI2SD is formatted using a driver that uses "blind" transfers.  

Try reformating the SCSI2SD using a drive setup tool that allows you to turn off blind transfers like LaCie Silverlining.

Good luck.

Rick

 

Crutch

Well-known member
Thanks Rick, that is spot-on because I know for a fact that the external 80 was formatted (by its prior owner) with Silverlining.  I had no idea about this “blind” transfers issue so will try formatting my SD card with Silverlining and see if that works!

 

lisa2

Well-known member
Here is a little more information from Apple Technote DV14 dated July 1,1987:

"On the Macintosh SE and II, there is additional hardware support for the SCSI bus transfers in pseudo-DMA mode. The hardware makes it possible to handshake the data in Blind mode so that the Blind mode is safe for all transfers. On the Macintosh Plus, the Blind transfers are heavily timing dependent and can overrun or underrun during the transfer with no error generated. Assuring that Blind mode is safe on the Macintosh Plus depends upon the peripheral being used. On the SE and II, the transfer is hardware assisted to prevent overruns or underruns."

HTH.

Rick

 

lisa2

Well-known member
Also the plus has a boot issue with some SCSI controllers, a solution is to cut pin 40 (RST) on the flat ribbon cable :

ROM boot code problems

In the process of looking for a bootable SCSI device, the boot code issues a SCSI bus reset before each attempt to read block 0 from a device. If the read fails for any reason, the boot code goes on to the next device. SCSI devices which implement the Unit Attentioncondition as defined by the Revision 17B SCSI standard will fail to boot in this case. The read will fail because the drive is attempting to report the Unit Attention condition for the first command it receives after the SCSI bus reset. The boot code does not read the sense bytes and does not retry the failed command; it simply resets the SCSI bus and goes on to the next device.

If no other device is bootable, the boot code will eventually cycle back to the same SCSI device ID, reset the bus (causing Unit Attention in the drive again), and try to read block 0 (which fails for the same reason).

The `new' Macintosh Plus ROMs that are included in the platinum Macintosh Plus have only one change. The change was to simply do a single SCSI Bus Reset after power up instead of a Reset each time through the SCSI boot loop. This was done to allow Unit Attentiondrives to be bootable. It was an object code patch (affecting approximately 30 bytes) and no other bugs were fixed. For details on the three versions of Macintosh Plus ROMs, see Technical Note #154.

We recommend that you choose an SCSI controller which does not require the Unit Attention feature--either an older controller (most of the SCSI controllers currently available were designed before Revision 17B), or one of the newer Revision-17B-compatible controllers which can enable/disable Unit Attention as a formatting option (such as those from Seagate, Rodime, et al). Since the vast majority of Macintosh Plus computers have the ROMs which cannot use Unit Attention drives, we still recommend that you choose an SCSI controller that does not require the Unit Attention feature.

  • If an SCSI device goes into the Status phase after being selected by the boot code, this leads to the SCSI bus being left in the Status phase indefinitely, and no SCSI devices can be accessed. The current Macintosh Plus boot code does not handle this change toStatus phase, which means that the presence of an SCSI device with this behavior (as in some tape controllers we've seen) will prevent any SCSI devices from being accessed by the SCSI Manager, even if they already had drivers loaded from them. The result is that any SCSI peripheral that is turned on at boot time must not go into Statusphase immediately after selection; otherwise, the Macintosh Plus SCSI bus will be left hanging. Unless substantially revised ROMs are released for the Macintosh Plus (highly unlikely within the next year or so), this problem will never be fixed on the Macintosh Plus, so you should design for old ROMs.
     
  • The Macintosh Plus would try to read 256 bytes of blocks 0 and 1, ignoring the extra data. The Macintosh SE and Macintosh II try to read 512 bytes from blocks 0 and 1, ignoring errors if the sector size is larger (but not smaller) than 512 bytes. Random access devices (disks, tapes, CD ROMS, etc.) can be booted as long as the blocks are at least 512 bytes, blocks 0, 1 and other partition blocks are correctly set up, and there is a driver on it. With the new partition layout (documented in Inside Macintosh volume V), more than 256 bytes per sector may be required in some partition map entries. This is why we dropped support for 256-byte sectors. Disks with tag bytes (532-byte sectors) or larger block sizes (1K, 2K, etc.) can be booted on any Macintosh with an SCSI port. Of course, the driver has to take care of data blocking and de-blocking, since HFS likes to work with 512-byte sectors."


Rick

 

Crutch

Well-known member
Thank you again for putting me in the right direction.  I have now fixed the issue.  Here’s what I did to consistently boot my 030 accelerated Mac Plus from SCSI2SD:

* Used the SCSI2SD Util on a modern Mac to configure the SCSI2SD as described at this link, which includes turning off “Enable Unit Attention” which I believe prevents the problem noted in your last post.  http://www.codesrc.com/mediawiki/index.php/Mac_Plus

* My SCSI2SD is partitioned into three volumes (1 GB, 500 MB, and another 500 MB).  I reformatted each with Lido.

* I then used SilverLining as @lisa2 helpfully suggested to install drivers (SilverLining lets you install its drivers without reformatting).  

When installing SilverLining drivers, I made sure “Blind” handshakes were not selected.  THIS ONLY WORKED WITH SILVERLINING 5.4.  This was the crucial realization here and figuring it out took me many days of trying various things.  Using a new SilverLining 5.6.3 gave weird errors like “Driver size is zero bytes” or similar, and left me in a state where trying to start up with my SCSI2SD attached gave me a sad Mac or - scarier - a black screen on startup with weird flickering and clicking sounds.

* This got me to a state where one of my SCSI2SD volumes would boot the Mac Plus cleanly - nice!!  But ... it was the wrong one (SCSI ID 2), and the Startup Disk cdev isn’t supported on the Plus.  So, I used System Picker to choose a different boot drive (SCSI ID 0).  BAD IDEA ... this told the SCSI ID 2 drive that it didn’t have a blessed System Folder, so at boot time the Plus needed to move onto a different drive.  But at boot time my Mac Plus kept re-trying ID 2, the highest ID with a drive attached, probably for this reason:  https://macgui.com/usenet/?group=14&id=44109 (thanks @Dog Cow for posting this excellent info). Result:  an endless loop of smiling Macs turning back into flashing question marks!  (One can get out of the endless loop by inserting a good boot floppy.)  I solved the problem by just moving the System Folder I wanted to boot from to my SCSI ID 2 volume.

I’m leaving this here in case helpful to the next person having similar issues.  The biggest sticking point was (1) not knowing to enable Blind handshakes, and then (2) knowing that, not realizing I needed to use the older SilverLining 5.4.

Thanks again for the valuable help.

 
Top