English Amiga Board


Go Back   English Amiga Board > Support > support.Hardware

 
 
Thread Tools
Old 18 February 2020, 14:21   #1
Overmann
Registered User
 
Overmann's Avatar
 
Join Date: May 2014
Location: Norway
Posts: 379
Getting the most out of A3000's SCSI

Hi,


I've recently acquired an A3000, and now after extensive repairs and fiddling about I'm ready to start using it properly. It's set up with a Cybervision 64/3D and buddha IDE controller at the moment, and I have an A3660 on the way.


I have a couple of SCSI disks and would much rather use the integrated SCSI-controller then the Buddha but after having had a go at setting things up today I'm getting significantly better performance out of the Buddha (2.3mb/s v 1.5mb/s). That seems rather slow for an A3000 era SCSI-controller. It's about half of what my HC +8 manages in my 68000 A2000.


Am I doing something wrong, or is there a way to improve the performance? The SCSI is running in synchronous mode (as far as I can tell from Battmem).
Overmann is offline  
Old 18 February 2020, 14:33   #2
trixster
Guru Meditating
 
Join Date: Jun 2014
Location: England
Posts: 2,356
I tried to get faster speeds out of it but gave up after a while. I was testing with a scsi2sd v6 and all sorts of synchronous - async settings with battmem and the scsi2sd util software. I seem to recall getting over 2mb/s but stability was rubbish, with numerous write errors. I couldn’t really determine if it was a problem with the scsi2sd v6 or the 3000’s scsi interface - I suspect the former as the scsi2sd firmware was pretty rubbish at the time and full of bugs.

I now just make do with an acard 7720UW connected to an ide sd card adapter. Thing is, scsi feels much faster than ide even if it is a mb or so a second slower due to the lesser coy usage, so I’m happy sticking with it as it is.
trixster is offline  
Old 18 February 2020, 15:09   #3
Overmann
Registered User
 
Overmann's Avatar
 
Join Date: May 2014
Location: Norway
Posts: 379
Yeah, I suspected that might be the case. Is an accelerator with onboard SCSI the best way to go with the A3000 then? Far outside of my pricerange, but just curious. How would the fastlane stack up? FastATA are not DMA I understand, so while fast they would tax the CPU?
Overmann is offline  
Old 18 February 2020, 15:14   #4
trixster
Guru Meditating
 
Join Date: Jun 2014
Location: England
Posts: 2,356
I have on-board scsi on the warpengine, so I guess I should try that as I expect it’s considerably faster
trixster is offline  
Old 18 February 2020, 15:17   #5
Overmann
Registered User
 
Overmann's Avatar
 
Join Date: May 2014
Location: Norway
Posts: 379
Quote:
Originally Posted by trixster View Post
I have on-board scsi on the warpengine, so I guess I should try that as I expect it’s considerably faster

If you have the warpengine your laughing. That is probably an 8-10mb/s situation I'm sure.


I've gotten used to fast SCSI after using my A1200 with Blizzard SCSI for years. Settling for 1.5mb/s feels a bit unsatisfactory. I was really expecting the A3000 SCSI to be considerably faster then what my A2000 manages.
Overmann is offline  
Old 18 February 2020, 16:28   #6
trixster
Guru Meditating
 
Join Date: Jun 2014
Location: England
Posts: 2,356
I’m sure it’s possible to get satisfactory results from the 3000’s internal scsi with something Like the scsi2sd v6, and I think there’s a thread on A1K which details the specifics about doing so, but I didn’t drum up the energy to pursue trying again after my initial fumbling with it!
trixster is offline  
Old 18 February 2020, 16:51   #7
pipper
Registered User
 
Join Date: Jul 2017
Location: San Jose
Posts: 681
I have seen SysInfo reporting 3.3mb/s on a stock A3000 25Mhz in synchronous mode with a SCSI2SD v6. I don’t think there’s much more to expect for the internal scsi port?
pipper is online now  
Old 18 February 2020, 17:31   #8
Overmann
Registered User
 
Overmann's Avatar
 
Join Date: May 2014
Location: Norway
Posts: 379
3.3mb/s would be pretty sweet. That more then twice the speed I'm getting now. I'm using mechanical drives. I find that now, after 5 years of using CF's in ALL my retro machines I really enjoy the sound and noises. But I don't think these drives are bottlenecking the performance. They easily deliver 8-9mb/s on the Blizzard.
Overmann is offline  
Old 20 February 2020, 00:28   #9
AmigaHope
Registered User
 
Join Date: Sep 2006
Location: New Sandusky
Posts: 947
Quote:
Originally Posted by Overmann View Post
Yeah, I suspected that might be the case. Is an accelerator with onboard SCSI the best way to go with the A3000 then? Far outside of my pricerange, but just curious. How would the fastlane stack up? FastATA are not DMA I understand, so while fast they would tax the CPU?
Yes, FastATA only works with PIO modes and it positively chews up your CPU if you let it. It's not very multitasking-friendly. That said it's great for bulk storage drives where you need to quickly move around large files. i.e. it's best to put your system disk on a DMA SCSI controller and do all your work on that and then use the FastATA card for mass storage.

Accelerator with onboard storage is definitely the best way to go.

Unless you're one of the lucky few that can use DMA USB storage with a Deneb. xD
AmigaHope is offline  
Old 20 February 2020, 09:37   #10
trixster
Guru Meditating
 
Join Date: Jun 2014
Location: England
Posts: 2,356
Deneb dma does about 6mb/s and pio mode does around 4.5mb/s. I’ll check this evening

My onboard scsi is 1.9mb/s

Last edited by trixster; 22 February 2020 at 21:43.
trixster is offline  
Old 22 February 2020, 21:00   #11
k0x
Registered User
 
Join Date: Jan 2018
Location: Ostrava
Posts: 124
6.2.15 firmware of SCSI2SD ---> 3,4M/s on A3000D internal controller
k0x is offline  
Old 22 February 2020, 21:55   #12
Overmann
Registered User
 
Overmann's Avatar
 
Join Date: May 2014
Location: Norway
Posts: 379
Quote:
Originally Posted by k0x View Post
6.2.15 firmware of SCSI2SD ---> 3,4M/s on A3000D internal controller

SCSI2SD v6?
Overmann is offline  
Old 23 February 2020, 00:05   #13
k0x
Registered User
 
Join Date: Jan 2018
Location: Ostrava
Posts: 124
Quote:
Originally Posted by Overmann View Post
SCSI2SD v6?

Yes, v6. In case you are looking for one - just PM me.
k0x is offline  
Old 23 February 2020, 08:04   #14
Overmann
Registered User
 
Overmann's Avatar
 
Join Date: May 2014
Location: Norway
Posts: 379
Quote:
Originally Posted by k0x View Post
Yes, v6. In case you are looking for one - just PM me.

I will!

Now, I'm not getting the best performance here, but the system seems stable, however I'm getting the occational crash. Shapeshifter is one of the programs I use a lot that I just can't get to work. Shapeshifter Task crashes with a 8000 0004 error every time I try to run it. The FAQ says to make sure MASK and MAX TRANSFER are set correctly, but MASK and MT have always been a mystery to me. What are those supposed to be set to for the internal SCSI controller on the A3000? My machine is set up with the full 2mb chip and 16mb fast mem, and an A3660.
I have it set to MASK = 0x7FFFFFFFC and MAX TRANSFER = 0xFFFFFF (super-dmac -02 and Ramsey -04 with latest SCSI-chip).


I've tried most of the other suggestions in the FAQ (like NOCOPYBACK, deleting PRAM file, trying different ROMS etc). I'm using CAMMY's hardfiles.

EDIT:
After some more testing in WinUAE (with a CF clone of my SCSI HDD) it appears that it is not a problem with my SCSI-settings but rather with my 060 library (or something related). I got the same crashes but switching to 030 made it stable. Now I've installed the Phase5 060 libraries (instead of the ones with 3.1.4 or mmulib) and it works in WinUAE. I don't know if it'll work with my A3660, but this would indicate that the SCSI-settings are not the problem. It would be interesting to know the correct MASK and Max transfer settings though :P

MASK and MAX TRANSFER appears to be such an understandable subject to some (many?) but I've never understood what those numbers mean and how to figure out the correct numbers.

Last edited by Overmann; 23 February 2020 at 09:57.
Overmann is offline  
Old 24 February 2020, 07:59   #15
AmigaHope
Registered User
 
Join Date: Sep 2006
Location: New Sandusky
Posts: 947
Quote:
Originally Posted by Overmann View Post
MASK and MAX TRANSFER appears to be such an understandable subject to some (many?) but I've never understood what those numbers mean and how to figure out the correct numbers.
MASK controls which range of memory can be used as buffers for I/O operations. This is mostly important on DMA controllers -- the mask should only allow DMA-able memory through that the controller can directly talk to. Motherboard RAM is usually the safest bet for this in a big-box Amiga using a Zorro DMA SCSI controller, but for controllers with RAM onboard you can get better performance by setting the MASK for the Zorro RAM space occupied by the board (this can change depending on the order you've inserted the cards, etc.). Obviously if it's a Zorro 2 card, its mask has to be in a 24-bit address space, etc.

For a controller on an accelerator it's best to set the MASK to allow ram that's also on the accelerator.

In addition, you can set MASK to workaround configurations where the controller tries to DMA to non-word-aligned addresses, but the bus controller can't support it (certain DMAC/Ramsey pairs).

To be more specific, MASK is a *bitmask*, i.e. it says only allow addresses that are within the range of bits specified by the mask. It's a similar concept as a TCP/IP "netmask". For instance an IPV4 netmask of 255.255.255.0 (0xffffff00) tells the stack that addresses that differ in only in the last byte are on the local network, and all others need to go through the router.

Here's an article for more help: https://en.wikipedia.org/wiki/Mask_(computing)

But in general MASK is kind of crude way of specifying memory addresses because it doesn't let you specify a specific range of memory (something I consider an oversight from the original Amiga devs). Mostly it just lets you specify how HIGH in memory the buffers can be allocated from. For instance 0xFFFFFFFF means any address in all of memory. 0xFFFFFFFC is a useful mask (any address in 32-bit memory, provided the last 2 bits are 00 -- i.e. only 32-bit-aligned addresses are allowed). Devices on 24-bit systems like Zorro 2 can be 0x00FFFFFC (any 32-bit-aligned address in the bottom 24-bit address range). 0x07FFFFFC is a good mask if you have an A4091 -- it includes motherboard memory space on A3000/A4000 but excludes accelerator memory and Zorro 3 memory.

If your controller is on your A3000/A4000 accelerator then 0x0FFFFFFC is a good MASK as it includes accelerator memory but not Z3 memory. It's also good for most 32-bit accelerators w/controllers on other Amigas (which have 24-bit motherboards) as they tend to stick their 32-bit memory in this range.

Unfortunately there is no good DMA mask that includes Zorro 3 memory but excludes accelerator memory, because accelerator memory is below Zorro 3 memory.

Keep in mind that the buffers will be allocated from whatever memory is currently the highest priority that also matches the mask.

MAXTRANSFER controls the maximum size of a single I/O operation on the controller. This is usually only an issue on IDE controllers where the IDE devices have a fixed maximum transfer size -- often 256 x 512 or 128 x 512 blocks (this is why 0x1fe00 and 0xfe00 are often mentioned as they're 255 x 512 and 127 x 512 respectively) . On most SCSI controllers this is not an issue and it can be set to unlimited 0xffffffff), but depending on the hardware/driver combination it may have limits that cause it to fail if it's given too large a chunk of data. As long as you don't set MAXTRANSFER ridiculously small, it doesn't cause much overhead and it's thus often recommend to be safe rather than sorry, particularly if you're using an IDE controller. My recommendation for all IDE controllers is 0xfe00 for all devices just to avoid headaches (most work fine at 0x1fe00 but some flash devices don't)

Last edited by AmigaHope; 24 February 2020 at 08:32.
AmigaHope is offline  
Old 28 March 2020, 19:29   #16
mr.spiv
Registered User
 
mr.spiv's Avatar
 
Join Date: Aug 2006
Location: Finland
Age: 52
Posts: 244
Quote:
Originally Posted by pipper View Post
I have seen SysInfo reporting 3.3mb/s on a stock A3000 25Mhz in synchronous mode with a SCSI2SD v6. I don’t think there’s much more to expect for the internal scsi port?
What setting you are using etc?

[Edit] Getting now 3.27MB/s with internal SCSI + SCSI2SD.. decent It was about a time to replace my trusted Stinger Micropolis that has served my A3k AFAIR since late -90s.

Last edited by mr.spiv; 28 March 2020 at 23:43.
mr.spiv is offline  
Old 28 March 2020, 21:54   #17
Mathesar
Registered User
 
Mathesar's Avatar
 
Join Date: Aug 2014
Location: Netherlands
Posts: 701
I am getting about 3,5MB/s using the A3000's onboard SCSI.
That is in sync mode on a Quantum Atlas IV (7200rpm uw-SCSI)
With a SCSI2SD v4 it is doing about 1.1MB/s
Mathesar is offline  
Old 29 March 2020, 12:53   #18
Hedeon
Semi-Retired
 
Join Date: Mar 2012
Location: Leiden / The Netherlands
Posts: 2,055
Quote:
Originally Posted by AmigaHope View Post
Unfortunately there is no good DMA mask that includes Zorro 3 memory but excludes accelerator memory, because accelerator memory is below Zorro 3 memory.
Wouldn't that be 0xE0000000? (0x10000000 and up)

Edit: Alignment would a problem... I get it :-)
Hedeon is offline  
Old 01 April 2020, 17:50   #19
AmigaHope
Registered User
 
Join Date: Sep 2006
Location: New Sandusky
Posts: 947
Quote:
Originally Posted by Hedeon View Post
Wouldn't that be 0xE0000000? (0x10000000 and up)

Edit: Alignment would a problem... I get it :-)
I wouldn't call matching exactly 7 memory addresses an "alignment issue". xD

I suppose you could do 0xE0FFFFFC to exclude accelerator memory and rely on memory allocation priority to pick Z3 memory for the buffers since presumably that would have higher priority than Z2 fast and chip memory blocks. That would let you allocate buffers out of any word aligned block of 7 16-megabyte chunks of the upper part of the memory map, and just hope that the ranges weren't allocated by something else. (Really it would only be 3 16-megabyte ranges since the upper 2G of the memory map is reserved, and since I don't think anyone realistically has more than 256M of Z3 memory outside of WinUAE, you're effectively limiting yourself to allocating buffers out of the first 16 megabytes of Z3 memory -- better allocate it for those buffers up front before any applications try to use it -- so no mounting any partitions after boot!).

tl;dr Commodore picked a really shitty way to control buffer allocation.

Last edited by AmigaHope; 01 April 2020 at 18:31.
AmigaHope is offline  
Old 01 April 2020, 18:03   #20
trixster
Guru Meditating
 
Join Date: Jun 2014
Location: England
Posts: 2,356
Now running sync with an Acard 7720UW in the AA3000+ --- 3.3MB/s, up from 1.9MB/s in async. Machine has a WarpEngine

7720UW in the A3000 ----- 3.0MB/s up from 2.0MB/s. Machine has an A3640

Last edited by trixster; 02 April 2020 at 11:01.
trixster is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
a3000 scsi lockups stevereaver support.Hardware 19 23 May 2022 03:44
Need help with A3000 SCSI ajk support.Hardware 13 04 October 2019 07:26
A3000 SCSI DMA restrictions mark_k support.WinUAE 4 16 March 2019 17:01
A3000 with SCSI CD-ROM jeppea support.Hardware 5 08 February 2010 19:13
Need A3000 SCSI info amiman99 support.Hardware 1 26 October 2009 18:17

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 18:41.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.22605 seconds with 13 queries