• 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.

RaSCSI Development Thread

landoGriffin

Well-known member
So..... I did a bunch of stuff today....

  • Last week I ordered a bunch of 74LS245 tranceivers ($0.65 each) to see if they would be a workable alternative to the 74LS641 ($3 each) in the original RaSCSI design. Today I got around to trying them out. So far, they're working great. There are some differences in the data sheets that probably need some more analyzing. But, the 74LS245 seems to be working!
  • I created a RaSCSI "2.1" board. Changes from the current one include:


    Changed a lot of the parts to smaller SMD parts. Even though it results in more parts, JLCPCB's assembly for SMD parts is crazy cheap.
  • Updated to be a "FULL SPEC" version of the board. This will allow it to be an "initiator" in the SCSI chain. I'm thinking it will also work better for capturing SCSI traffic from existing devices (such as Zip drives, etc).
  • Shrunk the physical board so that it isn't bigger than a Pi Model B.
  • Added header to control the activity LED
  • I *think* with these updates and switching to the 74LS245, the cost of the board should be ~$15-20! (Depending upon shipping costs)

[*]Lots of work on the web control interface. It kind-of works now! You can add drives, remove them, restart the RaSCSI process, etc. (I disabled the shutdown button temporarily.... I didn't want to accidentally shut down the pi, then have to walk downstairs to turn it back on :) )image.png



Unfortunately, I didn't test with Netscape until later in the evening. Currently, everything works in Chrome, but none of the Javascript will run in Netscape 4. So, that needs to be worked.

Another thing I learned today... (Besides that Netscape is a pain in the rear).... Netscape doesn't seem to use the font-family information in PHP files. I was able to change the fonts in .html files. But just by renaming the file to .php, Netscape ignores all of the font tags. *Sigh* 

If anyone has some time, I would really appreciate another set of eyes on the schematic, to make sure that I copied Gimons' "Full Spec" schematic correctly.

https://github.com/akuker/RASCSI/blob/master/hw/rascsi_2p1/rascsi_2p1_sch.pdf

http://retropc.net/gimons/rascsi/fullspec.png

 

landoGriffin

Well-known member
Looks great!  Any chance you'll ever offer a fully populated board for those of us without surface mount soldering skills?
Definitely. I’m hoping to order a dozen of them with all of the surface mount parts pre-installed. I can do surface mount, but I know my limits! Those are TINY!

 

Solvalou

Well-known member
Finally, an excuse to use a Pi.

Price permitting, please do consider me officially interested in a populated board!

 

PotatoFi

Well-known member
Shut up and take my money!

Also, 100 percent ready to design and 3D-print cases. Can make them match our classic Mac aesthetics. Would love the opportunity to work on this.

 
Last edited by a moderator:

landoGriffin

Well-known member
Shut up and take my money!

Also, 100 percent ready to design and 3D-print cases. Can make them match our classic Mac aesthetics. Would love the opportunity to work on this.
That would be awesome!!! I put in an order for 10 tonight. I would have done more, but I'm too worried I messed something up. :-(

Once they arrive, and I'm sure that they work, I'll go back and figure out who gets first dibs :)  IF they work, they should be ~$20 for partially assembled, ~$30 for fully assembled + shipping (without the SCSI out board). The next batch will probably be bigger, so the costs should go down a little more.

The SCSI "out" board turned out pretty well too! Unfortunately, JLCPCB won't do assembly on black PCBs. 

23afbf2abe6af72a1935394569b12d24.jpeg.579e7431b6ba1a511bb7aeea3fa141bd.jpeg


 

saybur

Well-known member
  • Last week I ordered a bunch of 74LS245 tranceivers ($0.65 each) to see if they would be a workable alternative to the 74LS641 ($3 each) in the original RaSCSI design. Today I got around to trying them out. So far, they're working great. There are some differences in the data sheets that probably need some more analyzing. But, the 74LS245 seems to be working!
I'd suggest not making that substitution.  There are a couple things that might be hazardous:

  • Even the wimpy TTL drivers on the 245s can probably drive the Raspberry Pi GPIOs beyond their maximum voltage (3.3V).  It might be working currently via the RPi protection diodes, but that's not safe to rely on.
  • The SCSI spec requires BSY, SEL, and RST to be OR-tied, since they can be driven low by multiple devices simultaneously.  I'm not familar with how the RaSCSI works, so depending on how careful you are with the PI-TAD and PI-IND signals you might be able to avoid a bus conflict this way, but it could cause problems.  For example, this setup couldn't safely execute a reselection of the initiator, since that requires driving I/O low while the Mac would be needing to drive BSY.
  • The SCSI spec requires drivers capable of sinking 48mA, but the 245 drivers are only rated to 24mA.  You might be able to get away with this with just one set of terminators on the bus, but if more than one set are on they'll be pushed beyond their maximum.

Disclaimer: I'm not an EE, just a hobbyist.  I'd welcome correction from anyone more knowledgeable if anything I said is wrong.

 

landoGriffin

Well-known member
I'd suggest not making that substitution....
Thank you for the awesome feedback, saybur!! I felt like I was cutting corners by going with the 245. Your feedback solidified my concerns that this was a bad idea. 

Its going to bump up the cost of these boards a little, but I'm going to switch back to the 641's. Who am I to argue with the data sheets?

The SCSI spec requires BSY, SEL, and RST to be OR-tied, since they can be driven low by multiple devices simultaneously.  ....so depending on how careful you are with the PI-TAD and PI-IND signals you might be able to avoid a bus conflict this way, but it could cause problems.
I'll have to double check the code to make sure this condition is handled properly.

Disclaimer: I'm not an EE, just a hobbyist.  I'd welcome correction from anyone more knowledgeable if anything I said is wrong.
I think you're a few steps beyond hobbyist. Thank you again for the feedback!

Time to do some shopping for 74LS641s!!

 

saybur

Well-known member
As long as you're using the 641-1s the bus conflict shouldn't be a problem, but the Pi may not be able to see the Mac responding on BSY while PI-TAD is high.  That looks like the same setup as with the standard RaSCSI, so I wonder if it just doesn't support reselection?

If you're wanting to save on costs, maybe a different approach is dropping IC1 completely and modify the code to not drive or listen to DBP.  It will break support with standard initiators but (AFAIK) on-board Mac SCSI doesn't care about the state of the parity line.  Alternately, there are plenty of spare drivers on IC3, so you could modify things to just drive DBP but not listen to it during most operations.

Sorry to chime in on this after you've ordered boards BTW.  I have gotten really frustrated before with doing an order and *then* getting some wild idea of something that could have been changed.

 

landoGriffin

Well-known member
No problem! I get excited about ordering boards and click "Order" pretty quickly. I was able to get JLCPCB to drop the 245's before they built the boards, so it all works out!

I love what you're doing with Scuznet, btw! I'm hoping to pull that functionality in RaSCSI at some point.... someday.... :)  

 

Trash80toHP_Mini

NIGHT STALKER
Sorry to chime in on this after you've ordered boards BTW.  I have gotten really frustrated before with doing an order and *then* getting some wild idea of something that could have been changed.
My feeling is that letting a problem go (sending the board off) eases the brain out of its target fixated blinders and into an unfocused, freewheeling mode that allows the mind to achieve such creative insights.

:lol: Imagine the frustration of dealing with having wasted an overnight wire wrap tech's shift building a new board only to unravel/change or start from scratch again the next night  .  .  .

.  .  .  or being that tech, if looks could kill!  :-O

Turnaround times for such prototype revisions today can be frustrating, but the costs involved are insanely minimal by comparison. BTW, you don't sound any little bit like a dabbling hobbyist at this point. :approve:

 

Byte Knight

Well-known member
Once they arrive, and I'm sure that they work, I'll go back and figure out who gets first dibs :)  IF they work, they should be ~$20 for partially assembled, ~$30 for fully assembled + shipping (without the SCSI out board). The next batch will probably be bigger, so the costs should go down a little more.
That's a helluva deal - thanks for making them so inexpensive!

 

landoGriffin

Well-known member
That's a helluva deal - thanks for making them so inexpensive!
Unfortunately, I think the previous discussion about the 74LS641 transceiver is going to push the price up at least $10 each. I think its still a pretty affordable solution though!

I put in an order for 100 of them yesterday, so we can at least get some higher volume pricing. (On a side note, my hubby was super thrilled that I spent that much money on what he calls "computer garbage") ;-)  

 

uzairpatel45

New member
Hi, I have a Macintosh SE whos hard drive failed and so i designed my own raSCSI board. However, after looking on the raSCSI documentation, it says it needs a hda file to work, but i cannot seem to find these anywhere. the only kind of file i've found are IMG dumps of hard drives. Could anyone point me in the right direction/provide me with a guide to getting a hda file to use with rascsi or maybe upload one for me to use. also, is the pin-outs the same for the Macintosh as it is on gimons site for the 'fullspec' board?

(I replaced the 74LS641 transcivers with 74HCT245D, in my design, as they are much cheaper and seem to be compatible according to datasheets)

 

Byte Knight

Well-known member
Unfortunately, I think the previous discussion about the 74LS641 transceiver is going to push the price up at least $10 each. I think its still a pretty affordable solution though!

I put in an order for 100 of them yesterday, so we can at least get some higher volume pricing. (On a side note, my hubby was super thrilled that I spent that much money on what he calls "computer garbage") ;-)  
No problem - it's still a great deal.  And I'm glad you asked your hubby for forgiveness instead of permission!  :lol:

 

landoGriffin

Well-known member
Hi, I have a Macintosh SE whos hard drive failed and so i designed my own raSCSI board. However, after looking on the raSCSI documentation, it says it needs a hda file to work, but i cannot seem to find these anywhere. the only kind of file i've found are IMG dumps of hard drives. Could anyone point me in the right direction/provide me with a guide to getting a hda file to use with rascsi or maybe upload one for me to use. also, is the pin-outs the same for the Macintosh as it is on gimons site for the 'fullspec' board?

(I replaced the 74LS641 transcivers with 74HCT245D, in my design, as they are much cheaper and seem to be compatible according to datasheets)
To start with, your "HDA" file can just be a file full of zeros. You can create it using the Linux dd command on your Pi

Code:
pi@rascsi:~ $ dd if=/dev/zero of=/home/pi/new_drive.hda bs=4M count=100
100+0 records in
100+0 records out
419430400 bytes (419 MB, 400 MiB) copied, 22.4022 s, 18.7 MB/s
pi@rascsi:~ $
BS is the block size and count is the number of blocks. So, the above command will make a 400MB drive. Block size doesn't really matter, but if you don't specify it, dd will default to 512 bytes, which will may take a lot longer to create the file.

Once you have the drive created, you need to command rascsi to include it. Pick an ID that isn't currently used in your system. In my case, I don't have an ID 0. 

pi@rascsi:~ $ rasctl -l

+----+----+------+-------------------------------------
| ID | UN | TYPE | DEVICE STATUS
+----+----+------+-------------------------------------
| 1 | 0 | SCHD | /home/pi/harddisk.hda
| 6 | 0 | SCCD | /home/pi/marathon.iso(WRITEPROTECT)
+----+----+------+-------------------------------------
pi@rascsi:~ $ rasctl -i 0 -c attach -t hd -f /home/pi/new_drive.hda
pi@rascsi:~ $ rasctl -l

+----+----+------+-------------------------------------
| ID | UN | TYPE | DEVICE STATUS
+----+----+------+-------------------------------------
| 0 | 0 | SCHD | /home/pi/new_drive.hda
| 1 | 0 | SCHD | /home/pi/harddisk.hda
| 6 | 0 | SCCD | /home/pi/marathon.iso(WRITEPROTECT)
+----+----+------+-------------------------------------
pi@rascsi:~ $


Boot up your Mac that is attached to the RaSCSI. Open up Drive Setup and it should show your new drive in the list as <not initialized>. Be careful not to initialize the wrong drive!!

pic3.png

In the warning dialog box, click "Initialize".

pic2.png

After it completes, you should have a drive called "Untitled" with approximately the same amount of space as the .HDA you created.

pic1.png

 If you have issues, I'd recommend trying Lido or SCSI Probe. They can be more forgiving than Apple's Drive Setup.

 
Last edited by a moderator:
Top