SCSI / SCSI II adapaters?

for bbc micro/electron hardware, peripherals & programming issues (NOT emulators!)
Post Reply
dominicbeesley
Posts: 639
Joined: Tue Apr 30, 2013 11:16 am
Contact:

SCSI / SCSI II adapaters?

Post by dominicbeesley » Mon Jul 09, 2018 9:38 am

I have been following the Domesday SCSI threads with interest and was wondering what other SASI/SCSI/2 adapters there were for the Beeb/Master. I got a little carried away and bought a SCSI disk (actually SCSI 2 which I'm not sure would even work with the original Master Domesday adapter?). I also have some Z53C8003 chips which look like with a small amount of glue logic would quite quickly make a SCSI 2 adapter - there would then be the _very_ slow process of wading through the datasheets and trying to port a filing system...

This looks like another slow burn project but I'd love to have a _real_ desk shaker SCSI HD on my beeb/6809 machine

D
Attachments
20180706_171624.jpg

User avatar
simoni
Posts: 430
Joined: Wed May 25, 2016 6:18 pm
Contact:

Re: SCSI / SCSI II adapaters?

Post by simoni » Tue Jul 10, 2018 9:26 am

Well, anything is possible with some work :) The main issue with SCSI-2 (and, in fact, some SCSI-1) is the sector size is often 512 bytes rather than the 256 bytes used by the original ADFS. Unless the drive controller uses 256 it's going to be tough to make it work on a Beeb (although the Master could be more readily adapted since it has better use of shadow-RAM for filing system workspace).

I say 'drive controller' rather than 'drive' as the original Acorn solution had a 1MHz bus to SCSI adapter and then a SCSI to 'drive' adapter (the ACB-4000 from Adaptec). Later hard drives had the SCSI part built in. The BeebSCSI project (part of Domesday86) has both elements - a CPLD implements the host adapter and an AVR provides the SCSI. I took a lot of care to make the system representative of the original (the interface between the CPLD and AVR is actually SCSI-1 running at 3.3Vs). There should be a lot to be gained from looking at both the Verilog and C code (all of which is open-source). You could even modify it to support 512 byte sectors which would give you a good base-platform on which to develop the required filesystem support for more 'modern' SCSI-2 drives.

As a faster route, you could always interface a big vibration motor to the BeebSCSI's microcontroller and emulate the desk-shaking experience of the original :D

dominicbeesley
Posts: 639
Joined: Tue Apr 30, 2013 11:16 am
Contact:

Re: SCSI / SCSI II adapaters?

Post by dominicbeesley » Tue Jul 10, 2018 9:54 am

Thanks Simoni,

I'll take a look at your beebSCSI code, I'd not realised it contained an actual SCSI bus that should be very interesting.

The drive I've got is a Micropolis 1578, it has its own controller but that seems to support various sector sizes including 256 bytes, though it will probably require a re-format which I suspect will be non-trivial. The first thing is going to be to dig out a RiscPC, I'm sure I had one somewhere with a SCSI (2?) card that ran a syquest. Hopefully I'll be able to format the drive on that as I'd like to at least start with something "known good"!

Back in the mists of time I ran SCSI disks on 386 and 486 PC's and the RiscPC but I never really got into anything low-level. The whole spec seems over-facing so I doubt that I'll get anywhere very quickly!

No doubt there will be lots of questions when I start digging into the ADFS code. The 53c8xxx chips seem to do quite a bit of work but SCSI2 looks a bit more complex than SASI so it's may be a squeeze to get all the hardware code shoehorned in to the existing FS ROMs

D

RobC
Posts: 2298
Joined: Sat Sep 01, 2007 9:41 pm
Contact:

Re: SCSI / SCSI II adapaters?

Post by RobC » Tue Jul 10, 2018 11:11 am

I have an original Oak SCSI card that's hooked up to a more modern Seagate drive (2GB I think). I found that some Seagate drives can be persuaded to switch to 256-byte sectors - I did this by issuing the relevant SWIs on my RiscPC. There are some threads on here about it somewhere.

I also have an Akhter SCSI card that's connected to an Adaptec board and a 20MB ST506 drive.

I can dig them out if you want photos...

dominicbeesley
Posts: 639
Joined: Tue Apr 30, 2013 11:16 am
Contact:

Re: SCSI / SCSI II adapaters?

Post by dominicbeesley » Tue Jul 10, 2018 12:44 pm

Thanks Rob,

So are both the Akhter and Oak Beeb 1MHz bus cards, I've been searching around for info but not finding much

Were all the host adaptors much of a muchness i.e. did they all have the same hardware API to the beeb? I might ditch the 53c8000 idea and just make a SASI interface...

D

User avatar
simoni
Posts: 430
Joined: Wed May 25, 2016 6:18 pm
Contact:

Re: SCSI / SCSI II adapaters?

Post by simoni » Tue Jul 10, 2018 1:05 pm

The host adapter cards are specific to ADFS so the logic is fixed. The only variance is the external card and the internal (VFS) adapter for the Master (as the glue-logic is different).

Schematics and a description of the glue-logic design is available here: https://www.domesday86.com/?page_id=64

You can also download and view my AIV SCSI card remake (in KiCad) here: https://github.com/simoninns/Acorn-AIV- ... apter-Card

dominicbeesley
Posts: 639
Joined: Tue Apr 30, 2013 11:16 am
Contact:

Re: SCSI / SCSI II adapaters?

Post by dominicbeesley » Mon Jul 30, 2018 9:28 pm

Thanks Simoni, RobC,

I decided to take the plunge and have a go at a SCSI 2* board. I've made a quick start today (between house painting, packing, moving). I've based this round a z53c8003 chip. I've no idea how far I will get with this but it looks interesting, well, to me at least...

I didn't get a picture of the board before I packed it for moving but here's the schematic...
scis2.png
I've wired up the 1MHz bus, glue logic, z53c80 today and it seems to work ok, IRQ/NMI not tested at all as I have run out of 74LS05's

I'm going to start looking at ADFS sources I'm guessing that the v150.zip on JGH's site looks to be the best starting point? It appears that this has an option to compile all the various IDE/SCSI/MMC BBC/Elk/Master versions - do they all work?

I'll probably be restricted to just one machine for the next year or so due to space limits and that will likely be a BBC B...

D

* I doubt this will be a full SCSI II implementation but will hopefully/maybe work with newer stuff?

dominicbeesley
Posts: 639
Joined: Tue Apr 30, 2013 11:16 am
Contact:

Re: SCSI / SCSI II adapaters?

Post by dominicbeesley » Wed Aug 01, 2018 8:54 pm

I can't wait to get the SCSI pins wired up and have a go at programming the thing...
Attachments
20180801_214758-s.jpg
20180801_214743-s.jpg

dominicbeesley
Posts: 639
Joined: Tue Apr 30, 2013 11:16 am
Contact:

Re: SCSI / SCSI II adapaters?

Post by dominicbeesley » Sat Aug 04, 2018 4:44 pm

After a couple of hours grabbed here and there I've got it doing some very basic and no doubt buggy talking across the bus. Here it's run the "inquiry" command on the hard drive.

This seems to take a lot of code...
Attachments
20180804_174008-s.jpg

dominicbeesley
Posts: 639
Joined: Tue Apr 30, 2013 11:16 am
Contact:

Re: SCSI / SCSI II adapaters?

Post by dominicbeesley » Tue Oct 09, 2018 12:04 am

A quick update on this. I now have this *working* but not finished. Hard disk read/write accesses are working. I don't seem to be able to get the floppy format working but I suspect that that is a separate machine issue, possibly timing issues caused by my running this on a 65c02 in a model B

Things to finish off are:
- error codes, these are not mapped correctly yet between the scis2 / mode sense codes and the ADFS codes (which are different to SASI)
- this only works in a Model B with a 65C02 due to space problems
- not tested on a Master

I need to get some floppy disks formatted to test the floppy drivers are working correctly but I'm struggling to get a working AFORM to work on my master. It only seems to want to run from an ADFS disk...all a bit chicken and egg. Is there a way to access ADL's from a DataCentre?

User avatar
BeebMaster
Posts: 2603
Joined: Sun Aug 02, 2009 4:59 pm
Location: Lost in the BeebVault!
Contact:

Re: SCSI / SCSI II adapaters?

Post by BeebMaster » Tue Oct 09, 2018 10:08 pm

Good work! Several utility ROMs have AFORM built in, like ADT, loading into SRAM might be an easier way to access the formatter.

To try to answer the original question, I think there were probably 4 8-bit Acorn hard disc implementations:

1. Host adapter (ie. interface board between 1MHz bus and SASI/SCSI disc controller) + controller board (MFM Adaptec ACB4000 or ACB4000A) + ST506 MFM drive (usually Rodime) as used in Acorn Winchester Disc 110, 120, 130.

2. Host adapter + early SCSI drive (again usually Rodime) as used in Acorn FileStore E20, the FileStore E01 having a 1MHz bus on board

3. On-board SCSI interface (in Stacking FileStore E01S) + early SCSI drive (Rodime again) in FileStores E40S and E60S

4. Acorn SCSI Interface (in Master AIV) + SCSI drive (VP415 LV-ROM player in that instance)

Possibly some 8-bit curiosity machines like the Acorn Business Computer or Reuters board also had some other hard disc implementation.

Third parties took parts of the Acorn system and made their own drives.

eg. Technomatic, Akhter, Watford, all using Akhter host adapter (a replica of the Acorn board) + controller board (typically the RLL Adaptec ACB4070) + ST506 MFM drive.

Barson Computers in Australia produced their own host adapter board replica + Adaptec controller + ST506 drive.

Midwich Winchesters use their own host adapter with a link jumper for Adaptec or Xebec controller.

Digital Services Digistore uses the Acorn host adapter directly connected to a SCSI tape drive but the host adapter is modified to map the controller to the second Winchester controller space in the memory map.

Other host adapters for direct connection to SCSI drive (without a controller board in the middle) include Oak and Torch.

Although most hard disc units were based around the Adaptec controller, others could be used such as the Xebec S1410 and Western Digital WD1002. I believe there were others. Several were problematic in that they did not store the disc geometry on the drive so it had to be loaded from somewhere (eg. a utility ROM) every time BREAK was pressed.

It is very much possible to get "modern" SCSI drives (ie. SCSI-2 drives with 50-pin connector and capacity up to about 8GB) to work with an Acorn host adapter. Discs that support 256 byte sectors (many Seagate ones support sector size down to 128 bytes) and the Change Definition command can have the Operating Definition set to SCSI-1 and will then be recognised by the host adapter/ADFS. This usually involves use of another machine with a SCSI card (Archimedes etc) as there is no communication with the BBC until the Operating Definition command has been put through. I think it's also possibly to wake up the drive to the BBC using a Request Sense setting.
Image

dominicbeesley
Posts: 639
Joined: Tue Apr 30, 2013 11:16 am
Contact:

Re: SCSI / SCSI II adapaters?

Post by dominicbeesley » Wed Oct 10, 2018 2:01 pm

Thanks for the info BM,

I'll try ADT later tonight, though I will need to work out how to get it onto the Master, I seem to have mislaid the datacentre and MMCs during the house move.

Good call on the SCSI1 switch in the mode select on some drives does seem to work. I thought of that myself but couldn't work out the chicken and egg situation...I'd like to be able to start on the Beeb!

As a learning process this has been fun and I do intend to finish off, and release, the ADFS sources soon.

I'm now pretty sure that the problems with floppy access are down to the WD1772 not liking having its registers tweaked without a lengthy delay before setting the command register. I'd had bother with this porting Flex so should have thought of it earlier.

I dug out the flex sources, hacked the relevant bits to 6502 code and tried this out before going to bed last night and it confirms that there's nothing wrong with the machine or disk drive but reducing the register delay gives similar behaviour - either going to the wrong track, or hanging waiting for something to happen that won't!

I'm quite impressed how well this works with a hard disk. I've been doing some quite memory hungry stuff (protracker player) which needs to load ~300KB of data using OGBPB in blocks of 16K. On the fastish HostFS+Myelin serial I have this takes 10s of seconds and the ADFS HD it's pretty zippy.

I'll get a video of it working later today if anyone's interested!

D

Post Reply