SCSI2SD on the Victor 9000

Talk about non-Acorn classic computers/hardware/software here (including retro consoles)
User avatar
danielj
Posts: 5031
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

SCSI2SD on the Victor 9000

Postby danielj » Sat Jul 15, 2017 6:44 pm

This is going to be a bit of a "please feel free to pitch in with thoughts/ideas" thread!

Background:
The Victor 9000/Sirius 1 has weird CLV floppy drives which using GCR are able to store 1.2mb on a double sided double density disk. Only a Victor can write victor disks. 5.25" disks won't last forever - and neither will Tandon Full Height 80 track floppy drives, so it would be rather neat to have a more modern storage option.

Some Victors shipped with an internal 10 or 20mb HDD, and it was also available as an optional external extra. This was something like a Tandon TM502, connected to a XEBEC S1410 controller, and then into a DMA card in the Victor which spoke SASI at it.

I was lucky enough to get a working HDD Victor with DMA card, and given that it speaks SASI, I figured it was ripe for sticking a SCSI2SD on to (it'd sound less like a jet engine than the current drive).

I've had a look at JonB's thread about the Philips machine, which also spoke SASI to the same XEBEC controller, and configured my SCSI2SD in the same fashion. Suffice to say it doesn't work. The "autoset" program which writes the partition information to track 0 and the "hdsetup" program which does the same both fail with "Unable to Reset Hard Drive", at the same time the SCSI2SD locks up with its LED on, and stops logging (hanging the utility program in the process). I've dropped Michael, the SCSI2SD creator, a message about this and have provided him with the following screenshot of the log as it dies:
DSC_2719.JPG


But obviously additional thoughts about what might be going on are very welcome - does anyone know how to read SCSI2SD logs? I don't really know what I'm looking at here :D!

Usual toolkit available of scopes/logic widgets etc available :)

d.

User avatar
jonb
Posts: 1993
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: SCSI2SD on the Victor 9000

Postby jonb » Sun Jul 16, 2017 5:56 am

Ok boss

This is the pertinent post: viewtopic.php?f=45&t=10374&p=127269

I'll check what firmware version I have, see if yours is the same. Your symptoms are not like mine, though. I never suffered lockups like that, so it seems likely your problem is not related to SEL timing. However... one cannot know for sure by guessing.

The problem is your HDD innit program. The error message is non specific and could mean anything. Further diagnostics may need you to write a short assembly program to read a sector off the HDD. Then you could trace it and see which part of the operation is failing.

User avatar
danielj
Posts: 5031
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: SCSI2SD on the Victor 9000

Postby danielj » Sun Jul 16, 2017 6:10 am

Thanks Jon - Do you know what the numbers in the log mean? I think that should give me an indication of where it's bumming out or what it might be doing when it does...

d.

User avatar
jonb
Posts: 1993
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: SCSI2SD on the Victor 9000

Postby jonb » Sun Jul 16, 2017 6:23 am

No, I cannot decipher the log file, sorry, but I do know it will give a good indication of the problem as you have suggested. I think those numbers show the state of the interface or the command registers.

Meanwhile.. I sent you a link to a couple of experimental firmware updates.

  • Version a fixes the SEL timing problem (latches SEL in software). Added because the P2000C doesn't maintain the signal for long enough.
  • Version b includes the SEL fix and fixes the LUN addressing problem with the P2000C - you may not need this one. It exists because the P2000C driver uses LUNs to address Drives 0 and 1 using the same SASI ID. You can still access drive 0 without this patch, though.

You'll have to read the SCSI2SD documentation to find out how to perform a firmware update as I can't remember the procedure.

By the way.. is there a configuration option to enable the mapping of LUNs to IDs in your version of the SCSI2SD setup program? If there is, you may already have up to date firmware.

A few points from my conversations with Michael..

  • Connecting via USB affects timing - the microcontroller is quite slow and having to process USB packets means it responds slower to SCSI commands.
  • There have been timing issues in the past with devices that skip arbitration, and I wouldn't be surprised if this is the problem. Try setting "SCSI Section Delay" parameter to 0 and see if the problem goes away. (The default is 1 for old SASI/SCSI hosts). If that doesn't work, try 10.
  • Make sure you're running only scsi2sd-util, and not scsi2sd-monitor, as they conflict and will cause issues. scsi2sd-monitor should never be run while the SCSI2SD board is connected to a SCSI host.
  • Turn parity off, at least until the SCSI2SD is detected by the host computer. The host hardware may not be generating the parity signal at all.
  • The SASI standards document (with some timing diagrams) is available at http://bitsavers.trailing-edge.com/pdf/ ... _Apr82.pdf
  • Something that will make the SCSI2SD respond MUCH faster to the SEL signal - check the "Disable glitch filter" check box in scsi2sd-util, save the settings, and see what happens.
  • Experimental firmware (version b in the zip file): It turns the LUN field into an ID. eg. so LUN 1 == SCSI ID 1. LUN 0 is not affected.

User avatar
hoglet
Posts: 6271
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: SCSI2SD on the Victor 9000

Postby hoglet » Sun Jul 16, 2017 6:38 am

Hi Daniel,
danielj wrote:Thanks Jon - Do you know what the numbers in the log mean? I think that should give me an indication of where it's bumming out or what it might be doing when it does...

As a guess, they are the last commands sent to the drive before the failure.

0xE0 is a vendor specific SCSI command.

Looking at the manual, it seems the Xebec has a command 0xE0 which is a RAM Diagnostic.
http://bitsavers.trailing-edge.com/pdf/ ... _Aug83.pdf

0x55, 0xAA might well be a RAM test pattern.

This is all guess work really, but its there RAM on the controller card you could easily change?

User avatar
danielj
Posts: 5031
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: SCSI2SD on the Victor 9000

Postby danielj » Sun Jul 16, 2017 6:55 am

Yes, I can map LUNs to SCSI-IDs, there's also the "Respond to short SEL pulses" option, so I'm thinking that all of that got rolled into the latest firmware (4.7)

Dave - I have a feeling the E0 isn't a scsi command, as it shoots those out even when it's not connected to the Victor. I think (but have no evidence) the part where it starts attempting to talk to the drive is where the 2F 03 changes to 30 03. I'm probably completely wrong.

I've sent the screenshot to Michael to see what he makes of it. Hopefully it will contain some clues :?

- The controller card itself is entirely built from 74 logic, there are 50 ICs on it. No memory at all. It's built to talk to the XEBEC card, so as long as SCSI2SD can behave like a XEBEC S1410 we should be all good!

d.

User avatar
danielj
Posts: 5031
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: SCSI2SD on the Victor 9000

Postby danielj » Sun Jul 16, 2017 8:35 am

Another datapoint - trying to use the "factoryf"ormat utility, it says "Controller timeout waiting for busy signal". I'm just trying to get my sigrok logic analyser set up, hopefully it'll shed a bit of light on what's going on...

d.

User avatar
1024MAK
Posts: 6587
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...

Re: SCSI2SD on the Victor 9000

Postby 1024MAK » Sun Jul 16, 2017 8:51 am

In essence, from a hardware point of view, SASI is just a parallel interface with control signals. So the first thing is to to ignore any system software, and fire test values at the relevant I/O port (or memory location if memory mapped) while monitoring the SASI data output pins. Then once you can see that all the data pins change state correctly, monitor the control/status lines.

You can sometimes get an idea of what a 74 logic series card is doing by the type numbers of the logic chips used. Also note that the 74 logic series included low capacity memory chips.

Mark
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk NOW!
BeebWiki‬ - for answers to many questions...

User avatar
danielj
Posts: 5031
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: SCSI2SD on the Victor 9000

Postby danielj » Sun Jul 16, 2017 8:59 am

So, I know the SASI port is working correctly as I can boot off the real hard disk (connected to the XEBEC controller) - I'm not too concerned about that. It seems that there's some level at which the SCSI2SD doesn't behave exactly as the old xebec controller did? Or that's my reading of things?

d.

User avatar
1024MAK
Posts: 6587
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...

Re: SCSI2SD on the Victor 9000

Postby 1024MAK » Sun Jul 16, 2017 9:10 am

Good that you know the hardware is working :D. But my post was also aimed at you using your logic analyser to see how the hardware handshaking actually operates in practice.

As Jon found out, SASI systems are not very standard.

It would also be helpful to compare the SASI signal log of your working HDD and the SCSI2SD :wink:

Mark
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk NOW!
BeebWiki‬ - for answers to many questions...

User avatar
danielj
Posts: 5031
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: SCSI2SD on the Victor 9000

Postby danielj » Sun Jul 16, 2017 9:16 am

Gotcha. The latter is going to be tricky just because of physical constraints... :?

User avatar
jonb
Posts: 1993
Joined: Sat May 21, 2011 12:42 pm
Location: South Coast of England

Re: SCSI2SD on the Victor 9000

Postby jonb » Sun Jul 16, 2017 10:03 am

1024MAK wrote:As Jon found out, SASI systems are not very standard.


Too true! What led me to the answer was comparing actual timing with a scope against the timing signals (I think.. it was quite a while ago), as well as the usual discourse with the experts.. :)

You'll get there.

User avatar
danielj
Posts: 5031
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: SCSI2SD on the Victor 9000

Postby danielj » Sun Jul 16, 2017 11:12 am

So, Michael thinks it's chatting, it just doesn't know what to do with an E0 command (10/10 hoglet!) fortunately the xebec documentation does describe all of these! Fingers x'd..

d.

User avatar
1024MAK
Posts: 6587
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...

Re: SCSI2SD on the Victor 9000

Postby 1024MAK » Sun Jul 16, 2017 11:28 am

You mean this:-
IMG_4931.JPG

I would have thought that it would be relatively straightforward for the SCSI2SD firmware to be amended to respond to these diagnostic and self test commands.

Mark
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk NOW!
BeebWiki‬ - for answers to many questions...

User avatar
danielj
Posts: 5031
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: SCSI2SD on the Victor 9000

Postby danielj » Sun Jul 16, 2017 12:08 pm

Indeed - I think it just needs to reply with a 0 to all of them...

d.

User avatar
danielj
Posts: 5031
Joined: Thu Oct 02, 2008 4:51 pm
Location: Manchester

Re: SCSI2SD on the Victor 9000

Postby danielj » Sun Jul 16, 2017 4:05 pm

OK, a bit further along here. Changing the SCSI select delay to 10ms, I no longer get things crashing and can get a full log...

Here's what's happening...

Code: Select all

13:36:05: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 01 00 01 b5 00 00 00 53 07 00 00 1d 55 00
13:36:05: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 01 00 01 f4 00 00 00 92 07 00 00 1d 55 00
13:36:05: e0 00 aa 55 00 00 00 00 00 00 00 00 00 00 02 05 07 01 00 00 00 fb 01 00 01 9d 07 20 00 00 20 00
13:36:05: e0 00 aa 55 00 00 00 00 00 00 00 00 00 00 02 05 ff 00 00 00 00 fb 01 00 01 0f 07 20 00 00 20 00
13:38:45: e0 00 aa 55 00 00 00 00 00 00 00 00 00 00 02 05 ff 00 00 00 00 fc 01 00 01 a5 07 20 00 00 55 00
13:38:45: 01 00 00 00 00 02 00 00 00 00 00 00 00 00 02 05 07 01 00 00 00 fc 02 00 02 0c 07 24 00 00 20 00
13:38:45: 01 00 00 00 00 02 00 00 00 00 00 00 00 00 02 05 ff 00 00 00 00 fc 02 00 02 29 07 24 00 02 20 00


The E0 is issued by the boot rom - if that fails, I think there's no way it'll ever actually boot from the hard disk, the 01 (seek to track 0?) is thrown out when trying to partition the drive once booted into DOS.

I've got the code from the boot rom (attached), so it's possible to get a bit of a handle on how the Victor is dealing with HDD access (although the BIOS takes over once the OS is booted - the Victor's BIOS is loaded from disk along with DOS). What I'm not clear on (my 8086 assembler's pretty awful), is if the attempt to initialise the XEBEC controller fails (i.e. the E0 doesn't yield a response) does a register get flicked in the DMA controller that's going to cause things not to behave further down the line?

d.
Attachments
VictorBootHDD.zip
(8.57 KiB) Downloaded 6 times


Return to “other vintage computer hardware, software and games”

Who is online

Users browsing this forum: No registered users and 2 guests