Jump to content

RaSCSI Development Thread


Recommended Posts

9 hours ago, landoGriffin said:

If anyone happens to have a PDF of a HTML or Javascript book from the mid 1990s, I'd appreciate it! 

You could always grab a cheap used copy of David Seigel's classic, Creating Killer Web Sites (or read it on archive.org). That's the only webdev book worth recalling from that era, IMHO. It should help you do without JavaScript as much as possible, IIRC.

 

Great work with the PCB rev(s)! So glad I waited. :)

 

Link to post
Share on other sites
  • Replies 397
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

On 7/26/2020 at 2:46 AM, landoGriffin said:

Building upon that idea, I designed a small stacking board that could go on top of the base RaSCSI board to add another DB-25 port. This way, you could just have the RaSCSI in your normal SCSI chain (if you need to)

Nice!  That's super smart.  Made me think a stacked DB-25 connector like on this page.

 

image.png.29430e715d0fe130edca7a8db9d5199e.png

 

Quote

I made quite a few more updates to the RaSCSI board to get the cost further down. I switched the Pull-up and Pull-downs to surface mount parts, shrunk the board so that it is not deeper than the Rasberry Pi model B's.  And for the fun of it, I'm having them built with Black soldermask. 

 

I'm also trying some different bus transceivers that are $0.22 (74AHC245) instead of $3.30 (74LS641-1). This board could end up being significantly less expensive!!

https://github.com/akuker/RASCSI/wiki/Transceiver-Comparison

Very cool. I may end up building a few and selling the extras. Still waiting for the PCBs to be delivered. They're in transit now.

 

Once you're satisfied with the product and we have a few tested and working, maybe we can put a post on r/retrobattlestations or similar.

 

I'm keeping an eye out for an DB-25 to HDI-30 to connect the RaSCSI connected to some older powerbooks. I've also got a SPARCstation to test with.  Will need to find a suitable 68pin SCSI connector first.  Honestly that's low priority right now, but will probably get more excited about it once I have the board, RPi and software all working.

Edited by NF_
removing extra CRLFs
Link to post
Share on other sites
On 7/10/2020 at 11:01 AM, PotatoFi said:

If the design gets to a point where it's fairly locked-down, I'd be happy to design a 3D-printed enclosure for it. I'll post the files when I'm done. I would just need a PCB and parts list.

 

Here's my resume!

Man, that is an awesome resume!  Very cool of you to offer case design for this project.  Having a proper enclosure for the RaSCSI would be a real treat.

Edited by NF_
removing extra CRLFs
Link to post
Share on other sites
On 7/26/2020 at 2:54 AM, landoGriffin said:

I'm trying to develop everything so that it is compatible with Netscape 4, so you can control it directly from your Mac. I've intentionally not included any images so that it is a text-only interface.

 

Here's a wireframe of what I came up with. I'd love to get some feedback on this! I'm not a UI designer, so I'm open to suggestions!

image.thumb.png.933e42c770db97cab73d1288e48f6c76.png

 

I'm starting with ztto's rascsi-php project (https://github.com/ztto/rascsi-php). However, this is using a bunch of javascript functions that aren't compatible with Netscape 4. So, I'm trying to update it to simplify the Javascript and move more of the complexity to the php code running on the Raspberry Pi. If anyone happens to have a PDF of a HTML or Javascript book from the mid 1990s, I'd appreciate it! 

 

Archive.org has "developer.netscape.com" archived from the 1990's, but there are some dead links.

http://web.archive.org/web/19991012215641/developer.netscape.com/docs/manuals/js/client/jsref/index.htm

 

Man, you're making excellent headway on the web interface.  I was just thinking about the need to manage this unit from a shell.  No problem for people comfortable doing so, but a web interface really makes the product accessible to more people. Your choice to keep the page simplistic is the way to go. The less features the web interface has, the less things can break / need documentation / need support.

 

On that note, I can assist with the documentation if you like. Not a professional by any means, but understand the value of good documentation for a given product.

 

Re: feedback, the separation of the "current device configuration"   and "Add a new device" section breaks apart the SCSI ID list of devices unnecessarily. It would be easy enough to have a connect/disconnect button, or a status indicator showing if an ID is connected or disconnected.  Think like the table cell being a different colour to indicate connected/disconnected.  Or just having one of the columns for "Connected" and a YES or NO for the row to indicate if it's connected or not.  

 

Excuse the spreadsheet format, but you get the idea.

 

image.thumb.png.5aeb3a43c1f1b447f97bdd91889d0295.png

 

Collapsing it down will also save on page space, which will help on computers with lower resolution displays. 

 

Again, thanks for your contribution to the project.

Link to post
Share on other sites
15 hours ago, NF_ said:

 

image.thumb.png.5aeb3a43c1f1b447f97bdd91889d0295.png

 

When I tried to run it, I get a "landoGriffin_is_awesome.iso file not found" error ;-) I like this layout a lot better!! Thank you for the feedback!

 

I would definitely appreciate any assistance with the documentation you (or anyone else) can offer! I changed the settings on the wiki to allow other people to make edits (assuming you have a github account)
https://github.com/akuker/RASCSI/wiki

 

If you're not able to edit the pages, send me your github ID and I'll explicitly add you to the page. I'm a little uneasy of leaving the wiki publicly editable, but we'll see how things go.

 

Side note - if anyone has any tips on getting Netscape 4 to show different fonts correctly, I'd welcome the input! This page renders fine with Chrome (with the Arial font). But Netscape still shows it with the default font.

https://github.com/akuker/RASCSI/blob/master/src/php/rascsi.php

 

 

Link to post
Share on other sites
16 hours ago, NF_ said:

Re: feedback, the separation of the "current device configuration"   and "Add a new device" section breaks apart the SCSI ID list of devices unnecessarily. It would be easy enough to have a connect/disconnect button, or a status indicator showing if an ID is connected or disconnected.  Think like the table cell being a different colour to indicate connected/disconnected.  Or just having one of the columns for "Connected" and a YES or NO for the row to indicate if it's connected or not.  

Yeah, this is a nice UI for this, well thought :-)

Link to post
Share on other sites
On 7/19/2020 at 3:24 PM, NF_ said:

When shopping for somewhere to make the PCBs I uploaded gerber.zip to OSH Park but they report the design is missing a copper layer.  Not sure what's up with that. I did put the order through with JLCPCB without issue

 

Wahoo!  The PCBs arrived today!  At first glance with untrained eyes they look great!  Have a couple of projects on the go right now, but once they're done will dig into populating and testing.

Link to post
Share on other sites
On 7/27/2020 at 10:22 PM, landoGriffin said:

I would definitely appreciate any assistance with the documentation you (or anyone else) can offer! I changed the settings on the wiki to allow other people to make edits (assuming you have a github account)

https://github.com/akuker/RASCSI/wiki

 

If you're not able to edit the pages, send me your github ID and I'll explicitly add you to the page. I'm a little uneasy of leaving the wiki publicly editable, but we'll see how things go.

Awesome, will do.  Started editing the main wiki page and changed the supported RPi list into a table. Have been looking at other github wiki pages for inspiration on improvements. If you see any issues with the changes I make, feel free to revert

Link to post
Share on other sites
22 hours ago, NF_ said:

Awesome, will do.  Started editing the main wiki page and changed the supported RPi list into a table. Have been looking at other github wiki pages for inspiration on improvements. If you see any issues with the changes I make, feel free to revert

The changes you made look awesome. Thanks!

Link to post
Share on other sites

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.thumb.png.f8bf3adf2771bb8cfe658234ce40dfa3.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

Link to post
Share on other sites
17 hours ago, landoGriffin said:

Oh, and here's an early picture of board v2.1, with all of its tiny surface mount resistor goodness...

Looks great!  Any chance you'll ever offer a fully populated board for those of us without surface mount soldering skills?

Link to post
Share on other sites
9 hours ago, Byte Knight said:

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!

Link to post
Share on other sites
13 hours ago, landoGriffin said:

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!

Sweet!  Put me down for one if you're taking preorders.  

Link to post
Share on other sites

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.

Edited by PotatoFi
Link to post
Share on other sites
8 hours ago, PotatoFi said:

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. 

LcvX4QF5_rH1Rqg2vOj_QK9xL6a0MAW9Lw5kamCHavqvyzD7W5e1XhKavapNKhNhQb-BSfmuHLXqdNzWZC9xDQ4INDHZbfKwpbAGq1RYLYgLJzZcs7VxXyhfJ96-lLawHcKPWov62BYMCJ4lbUc8_Te5rnv-Cw0L0x-94ySHaiZlfPyAKiEFCw2SegA6NnRvnlYDIMPOLrzFLlHXJ6K2zkzqL5ECzFNSSOhPbBplnFNCuCz83tMX1DC4Lw5o5lA_zdGu7J90r6TOcz-4u1ZR0obZpkQ78ehicjt3p08JJRPC_IA9vhUZZL_8sGtJknE60eYKbqCZQqFZSrsqILrFL6aJs3beiVzQuqteUDcfsdY7ddqaeNNWJ8VwtWTlKwNVDzImjRTmtgQjxSrY9OvgeBsntAF2EAGo8g2s09sUDivr_kxtPEIJrQS1_b8sDah_st927uGwMTMpq8nDKxXJheOIsiKS0655br57lpxyrqLhEGu8vZKcG_2MEkt7-q7ehlhpkvyVItyrXSpOaf8GZ32QVKcB8F3VE8GFNI-t-aqsm3RitR4e1csDLKfZE52ABdrxEjwS0apX-AwurufCX184DkjEloWyLrHp5-tXsS2k73gfYmcIPMO0wagnS1gwwCmvGm6N6eZg-uU7hTUIxt7WcA8JAvLxM-kdeB8nStEQ8c7nu-kPH93CGwlEWqk=w1250-h937-no?authuser=0

Link to post
Share on other sites
On 8/1/2020 at 3:05 PM, landoGriffin said:
  • 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.

Link to post
Share on other sites
19 hours ago, saybur said:

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?

 

Quote

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.

 

Quote

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!!

Link to post
Share on other sites

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.

Link to post
Share on other sites

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.... :-) 

Link to post
Share on other sites
8 hours ago, saybur said:

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:

Link to post
Share on other sites
On 8/2/2020 at 12:54 PM, landoGriffin said:

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!

Link to post
Share on other sites
9 hours ago, Byte Knight said:

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") ;-) 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...