English Amiga Board


Go Back   English Amiga Board > Support > support.Hardware

 
 
Thread Tools
Old 21 March 2013, 03:11   #1
videofx
Registered User
 
Join Date: Jan 2013
Location: Chicago, IL USA
Posts: 585
maxtransfer setting of 0x1fe00

I am using a 4GB CF with CWB 3.1. I am using a SCSI to IDE adapter to connect the IDE CF adapter. Everything seems to be working fine with the default HDTools partitions.

They say if you are using IDE then maxtransfer setting of 0x1fe00 should be used.

Does this apply if I am using SCSI to IDE adapter?

Thanks!
videofx is offline  
Old 21 March 2013, 05:08   #2
Loedown
Precious & fragile things
 
Join Date: Feb 2009
Location: Victoria, Australia
Posts: 1,946
I believe it does yes, I know I used it for my SCSi to IDE adapter and no problems or issues, if I also recall rightly it's to do with the block size of data sent rather than a speed, a buffer size if you will.
Loedown is offline  
Old 23 March 2013, 07:38   #3
Jope
-
 
Jope's Avatar
 
Join Date: Jul 2003
Location: Helsinki / Finland
Age: 43
Posts: 9,879
It usually is not needed if the connection to the Amiga is SCSI. For the reason, read the IDE & Max transfer sticky thread in this forum.
Jope is offline  
Old 25 March 2013, 00:05   #4
Cymru
Registered User
 
Join Date: Sep 2012
Location: Dorathea/AT
Posts: 376
maxtransfer setting of 0x1fe00

On very old IDE drives this was important; some swear that CF cards (being IDE devices) do also, but unless the laws of physics differ in my home than the rest of the world, it has never mattered. Fat95 devices on the Amiga do screw up if the transfer rate is set too high (USB thumb drives) but this is a Fat95 implementation -- set the massstorage.class to 64K in Poseidon.
Cymru is offline  
Old 25 March 2013, 08:20   #5
thomas
Registered User
 
thomas's Avatar
 
Join Date: Jan 2002
Location: Germany
Posts: 7,009
It's exactly the other way round: very old drives work correctly and new drives (like CF cards) don't. That's because the ATA specs have changes since and the Amiga's IDE driver relies on the old specs.

As Loedown already pointed out, MaxTransfer is not a transfer rate but a transfer chunk size. For IDE/ATA the buffer has to be split into 128k chunks anyway. By specifying small MaxTransfer you only tell the file system to do it because the IDE driver does not do it right.
thomas is offline  
Old 25 March 2013, 12:39   #6
Cymru
Registered User
 
Join Date: Sep 2012
Location: Dorathea/AT
Posts: 376
maxtransfer setting of 0x1fe00

Excuse me, "max transfer chunk."

Odd that my Amiga's don't care about the "max transfer chunk" and yours do. I have used IDE drives from the late 1980's up to SATA 2TB and SSD drives along with a dozen or more CF's and SD cards without issue and the Maximum Transfer Data Size has never mattered. As the Chinese say, "Black cat, white cat, does it matter if they catch mice?"
Cymru is offline  
Old 25 March 2013, 12:46   #7
fitzsteve
Professional slacker!
 
fitzsteve's Avatar
 
Join Date: Jul 2009
Location: Kent, UK
Age: 44
Posts: 6,683
Send a message via MSN to fitzsteve
Quote:
Originally Posted by Cymru View Post
Excuse me, "max transfer chunk."

Odd that my Amiga's don't care about the "max transfer chunk" and yours do. I have used IDE drives from the late 1980's up to SATA 2TB and SSD drives along with a dozen or more CF's and SD cards without issue and the Maximum Transfer Data Size has never mattered. As the Chinese say, "Black cat, white cat, does it matter if they catch mice?"

Here's a quick easy test for you, use the default HDToolbox Max Transfer and setup a CF card with that. Try to play some WHDload Games that use Disk images or have large files.

They wont load and will compain about DOS error 205 (can't find file Disk....) You know why? because that file is becoming corrupt whilst loading due to incorrect max transfer setting

You might not notice it during normal OS routines but when you load files over a certain size this is when the errors show up.
fitzsteve is offline  
Old 25 March 2013, 12:53   #8
thomas
Registered User
 
thomas's Avatar
 
Join Date: Jan 2002
Location: Germany
Posts: 7,009
Quote:
Originally Posted by Cymru View Post
Excuse me, "max transfer chunk."

Odd that my Amiga's don't care about the "max transfer chunk" and yours do. I have used IDE drives from the late 1980's up to SATA 2TB and SSD drives along with a dozen or more CF's and SD cards without issue and the Maximum Transfer Data Size has never mattered. As the Chinese say, "Black cat, white cat, does it matter if they catch mice?"
Perhaps you forgot to mention some details about your system? I am quite sure that you don't use a 2 TB drive with the original IDE driver because it has a 4 GB limit.
thomas is offline  
Old 25 March 2013, 13:25   #9
john1979
Registered User
 
john1979's Avatar
 
Join Date: Jun 2012
Location: UK
Age: 44
Posts: 748
Quote:
Originally Posted by Cymru View Post
Excuse me, "max transfer chunk."

Odd that my Amiga's don't care about the "max transfer chunk" and yours do. I have used IDE drives from the late 1980's up to SATA 2TB and SSD drives along with a dozen or more CF's and SD cards without issue and the Maximum Transfer Data Size has never mattered. As the Chinese say, "Black cat, white cat, does it matter if they catch mice?"
On my Amiga 1200, Fast File System, 4GB CF over IDE. Leaving the transfer settings at default caused lots of corruption. It certainly wasn't my imagination.
john1979 is offline  
Old 25 March 2013, 14:41   #10
alexh
Thalion Webshrine
 
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 14,400
If you're using a SCSI->IDE bridge then you should not need to limit max transfer. For all intents and purposes you are connecting to a SCSI device which should not suffer from problems (unless there is a bug in the bridge).

When connecting an ATA-IDE drive to an Amiga via the native IDE interface, setting the MAX TRANSFER effectively limits the maximum value the filesystem/IDE driver will try to use in the "Sector Count" field of the ATA commands.

This Sector Count field has changed over the years since the Amiga IDE drivers were written.
alexh is offline  
Old 25 March 2013, 15:20   #11
thomas
Registered User
 
thomas's Avatar
 
Join Date: Jan 2002
Location: Germany
Posts: 7,009
Quote:
Originally Posted by alexh View Post
When connecting an ATA-IDE drive to an Amiga via the native IDE interface, setting the MAX TRANSFER effectively limits the maximum value the filesystem/IDE driver will try to use in the "Sector Count" field of the ATA commands.

This Sector Count field has changed over the years since the Amiga IDE drivers were written.
This is not completely right.

Firstly the file system does not send ATA commands. The file system (e.g. PFS3) tells the driver (e.g. scsi.device) to read or write data. This is the same for all kinds of massstorage devices, be it ATA, SCSI or whatever. The driver then forms the needed hardware command (if hardware is in charge, which is not the case for a RAM disk or for a virtual harddisk).

In case of ATA, if the amount of data requested is larger than 128k (256 blocks) the driver automatically splits the request into several ATA commands because the used ATA commands have only one byte as Sector Count.

Secondly it is not the Sector Count field which has changed but the status of the hardware registers as set by the device. Formerly the current address was changed to the next block. In the new specs this is not necessary any more and new devices don't to it. But scsi.device relies on it and therefore fails to write the second and following chunks to the right places.

By setting MaxTransfer to 128k or less you just move the splitting from the driver to the file system. If the file system requests less then 128k at once, the driver is not required to split the request and does not fail to write the data correctly.
thomas is offline  
Old 25 March 2013, 16:16   #12
alexh
Thalion Webshrine
 
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 14,400
Quote:
Originally Posted by thomas View Post
Formerly the current address was changed to the next block. In the new specs this is not necessary any more and new devices don't to it. But scsi.device relies on it and therefore fails to write the second and following chunks to the right places.
Ah, so when the IDE driver had to split the incoming commands over multiple ATA commands it used a part of the returned Status as the start address of the next command which on newer ATA devices need not be valid? Yeah I do seem to remember either yourself or Toni Willen explaining this in the past.

Did someone every try to patch the Gayle scsi.device to fix this bug? (Not that it really matters)
alexh is offline  
Old 25 March 2013, 16:59   #13
thomas
Registered User
 
thomas's Avatar
 
Join Date: Jan 2002
Location: Germany
Posts: 7,009
Quote:
Originally Posted by alexh View Post
Ah, so when the IDE driver had to split the incoming commands over multiple ATA commands it used a part of the returned Status as the start address of the next command which on newer ATA devices need not be valid? Yeah I do seem to remember either yourself or Toni Willen explaining this in the past.
Yes, that's right. Toni did find it out.
thomas is offline  
Old 25 March 2013, 20:49   #14
videofx
Registered User
 
Join Date: Jan 2013
Location: Chicago, IL USA
Posts: 585
Thomas so even if I use SCSI to IDE bridge I should still set max xfer to x1fe00?

Thanks
videofx is offline  
Old 25 March 2013, 22:19   #15
thomas
Registered User
 
thomas's Avatar
 
Join Date: Jan 2002
Location: Germany
Posts: 7,009
It does not hurt. Perhaps at some time in the future you might need to connect the HDD to the internal IDE port and then it is good to have it. As long as it is connected to SCSI it should not have a problem.
thomas is offline  
Old 26 March 2013, 12:26   #16
Cymru
Registered User
 
Join Date: Sep 2012
Location: Dorathea/AT
Posts: 376
maxtransfer setting of 0x1fe00

Quote:
Originally Posted by thomas View Post
Perhaps you forgot to mention some details about your system? I am quite sure that you don't use a 2 TB drive with the original IDE driver because it has a 4 GB limit.
Two CSPPC A4000Ts.
Cymru is offline  
Old 26 March 2013, 14:29   #17
Bamiga2002
BlizzardPPC'less
 
Bamiga2002's Avatar
 
Join Date: May 2004
Location: Finland
Age: 46
Posts: 3,210
Send a message via MSN to Bamiga2002
Quote:
Originally Posted by Cymru View Post
Two CSPPC A4000Ts.
You won the lottery or something?
Bamiga2002 is offline  
Old 26 March 2013, 14:37   #18
Loedown
Precious & fragile things
 
Join Date: Feb 2009
Location: Victoria, Australia
Posts: 1,946
Sorry Cymru but I would take Thomas and Toni Wilen's word over yours, if you've not had any issues then great but for the sake of correct data I would set the max transfer as suggested.
Loedown is offline  
Old 26 March 2013, 14:41   #19
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,534
It is not 100% guaranteed to have any max transfer problems.

Some drives still support obsoleted ATA-1 feature that ROM IDE driver requires if transfer needs to be split.
Toni Wilen 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
IDE maxtransfer check detected split Leandro Jardim support.WinUAE 7 06 August 2012 00:31
maxtransfer setting/ corrupt files acspo project.WHDLoad 37 20 April 2012 13:04
Weird MaxTransfer issue Retroplay support.Hardware 2 11 May 2011 22:38
Can't change MaxTransfer, Checksum error CF card in WinUAE KS2.05 WB2.1 e5frog support.Hardware 19 09 June 2010 09:10
IDEFix97 + winuae! CD0 maxtransfer setting? ElectroBlaster support.WinUAE 3 30 December 2005 21:42

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 17:10.

Top

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