• Please review our updated Terms and Rules here

Harddisk response not quick on the first time used command DIR

But what should the Term power do> Is it needed to give the resistor packs power.. So if the voltage is 5 volt and it goes trough the termination resistor packs its give you about 1 volt on the interface so i could amplifier the quality of the data that goes through the SCSI interface cable? Please Explain what it actually do..
 
Wikipedia said:
Parallel SCSI buses must always be terminated at both ends to ensure reliable operation. Without termination, data transitions would reflect back from the ends of the bus causing pulse distortion and potential data loss.

A positive DC termination voltage is provided by one or more devices on the bus, typically the initiator(s). This positive voltage is called TERMPOWER and is usually around +4.3 volts. TERMPOWER is normally generated by a diode connection to +5.0 volts. This is called a diode-OR circuit, designed to prevent backflow of current to the supplying device. A device that supplies TERMPOWER must be able to provide up to 900 mA (single-ended SCSI) or 600 mA (differential SCSI).

Article here

My own two bits' worth: SCSI buses are normally driven by open-collector logic, which means that there must be a pullup on the line. Said termination is best placed on the far end from the driving device, but as SCSI is bidirectional, you really need pullups at both ends or the reflections and under/overshoot will kill you.

The point of a 220/330 combination is to provide a stable lhigh logic level with a low impedance. With a termination voltage supply of 4.3V, the voltage level on an inactive line will be held at about 2.6v = 4.3*(R2/(R1+R2)). (logic "high" for TTL, but not too high, so that the voltage swing will be limited).
 
So both SCSI host controller card AND last harddisk needs to enable the termpower?

I have made a picture of my SCSI 8 bit host card from future domain.. I hope you can see if there is a jumper or any option for TERMPOWER..

I will upload it now..

DSC00396.jpg


Its here:

As you can see this card have 2 terminator packs on the intern and extern bus..
Can you see if there is anything to set for termpower?

I think that i have nothing to do with the card:

In some version there is an extra terminating resistor and jumper W4 does not exist.

Read more: http://stason.org/TULARC/pc/hard-di...-to-seven-SCSI-devices-194.html#ixzz1oa3GZxkx

MISCELLENAUS TECHNICAL NOTES

In some version there is an extra terminating resistor and jumper W4 does not exist.
 
Last edited:
The first thing that catches my eye is that you have two sets of terminating resistors SIP1/SIP2 for internal and SIP3/SIP4 for external. That's probably how the board was supplied, but you need to remove the set nearest the connector that isn't being used. So, if you have no external drives, SIP3 and SIP4 should be removed. If you have both internal and external drives, then all 4 SIPs should be removed and terminators used at the end of each internal or external chain.

Because of the nature of terminator power supplies, you can (and probably should) have termination power enabled on the drive. I suspect that the card supplies power to its own termination resistors, but provides nothing at the SCSI connectors in the way of termination power.
 
I think that i have done the right thing..

I only needed to set the TERMPWR to the drive (with a jumper) (Then its taken +5V from the main power to the drive)
And set a jumper on the drive TERMPWR to the resistorpacks on the drive.. The resistorpacks i installed earlier.. Only have to watch and look to matches pin 1 to pin 1 on the sockets of the drive..And just install 3 resistor 8 Sipp packs..

I think that i need to set TERMPWR to the drive, because the host cant. But its providing the extra termination resistors..

I think its useless to take sipp 3 and sipp 4 out because if i leave then in, nothing would happend.. And if iam using the external way iam still hassle , messing with the controller card.. Or otherwise i would loose them and cant replace them anymore..
 
You can always opt for a bare directory listing (no summary/free-space calculation) by either specifying "set dircmd=/b" in the autoexec.bat file, or using "dir /b" on the fly.

Did try both options.. But doesnt work on my compaq dos 3.31..
 
Sorry if i didnt listen to your commands, the main reason was, that my english wasnt very forwarded.. Now days iam more on these forums, so i learn more on english language..

Iam back i this because iam not really happy with the results a got.. My opinion now is that i think its very annoying about that hanging thing with DIR command.. I really can live with it, and just break down the whole vintage computer..

Few months ago, i used the yellow scsi card.. But it is very limited on memory addressing.. As you propabilly can see its only having 4 memory addresses.. Because iam also using an intel above memory board(for EMS) it would be very narrow on memory adresses..
Now iam using this card:
m_s_p_26451_2.jpg

It is a very known used scsi card.. I like it more because it handles more memory adresses till E800H and EC00H. So i wont sitting on the way on the C800H till DE00H range.

My card had also an third resistor pack on the card, is that one used the external part.?? What i really like to know.. Does the DB25 external connector needs a terminator if iam not going to use this part of the controller board.
 
You should get a manual. Old thread for that model is http://www.vintage-computer.com/vcforum/showthread.php?38980-Future-Domain-TMC-850M-manual-found!

If I remember correctly, the third resistor pack determines whether the drive supplies terminator power in models without a jumper to do the same. You may need to remove this if the terminating devices can't use card supplied termination power. The other two resistor packs determine if the card terminates. You need termination on the card if you only have internal devices or only external devices but if you have both, you have to disable the card termination. To disable termination requires removing the left two resistor packs. Don't lose those packs.
 
If i give the command DIR...

It shows me the files / directory.. But it looks at the end it is still busy.. And i dont why... and after few second later it give me the dos prompt again.. nicely

Why does it take so long and looks that the drive is ` hanging for a few seconds of time at the end of the directory listing?

For the benefit of anyone reading this thread in the future, I found what causes this hang when I was writing PADD: Slowdown during the first "DIR" is caused by DOS determining the number of free clusters by scanning the FAT. To save memory, it does it from the disk itself, sector by sector. Additionally, it updates some internal structures on every iteration of "I found a free cluster" which is very slow due to how DOS is optimized (size, not speed). The larger the FAT, the longer this takes. A partition that completely fills the FAT limit (any power of two, such as 128M, 256M, 512M, 1G, 2G) takes the longest to scan because the FAT is near or at the maximum size (~65,000 entries). Subsequent DIR times are fine, but if an INT 25/26 are performed (absolute disk read/write), the values are reset and boom, a DIR takes a minute again. (BTW, the very first version of DOS to implement >32M partitions, Compaq DOS 3.31, also has this hang.)

One way to cut this time down is to create partitions that are just over the size of a power of 2, so that when DOS creates the filesystem, the cluster size doubles and the FAT size halves. So, creating partitions that are (for example) 260M, or 518M, or 1.05G, etc., can help because there are only 32K+ entries to slog through instead of 64K+.

This is only a problem on 8088/8086/NEC v20/NEC v30 systems. On anything faster, the delay is so short that most people don't notice it.
 
You should get a manual. Old thread for that model is http://www.vintage-computer.com/vcforum/showthread.php?38980-Future-Domain-TMC-850M-manual-found!

If I remember correctly, the third resistor pack determines whether the drive supplies terminator power in models without a jumper to do the same. You may need to remove this if the terminating devices can't use card supplied termination power. The other two resistor packs determine if the card terminates. You need termination on the card if you only have internal devices or only external devices but if you have both, you have to disable the card termination. To disable termination requires removing the left two resistor packs. Don't lose those packs.


I have red that manual.. Some things are not clear to me..

-The manual doesnt talk about that third resistor pack thats on my card. So it not clear to me what the purpose is of that resistor pack.

-There is a fuse on my card, but lacks a resistor, header, and an
capacitor, so my card cant provide the termpower..

- I really dont know why i need termpower, when i need it, and on which devices to use..

The manual does say that the card lacks DMA..

I have also an NEC T128 card here.. I hope i can finish my goal with that scsi card.


For the benefit of anyone reading this thread in the future, I found what causes this hang when I was writing PADD: Slowdown during the first "DIR" is caused by DOS determining the number of free clusters by scanning the FAT. To save memory, it does it from the disk itself, sector by sector. Additionally, it updates some internal structures on every iteration of "I found a free cluster" which is very slow due to how DOS is optimized (size, not speed). The larger the FAT, the longer this takes. A partition that completely fills the FAT limit (any power of two, such as 128M, 256M, 512M, 1G, 2G) takes the longest to scan because the FAT is near or at the maximum size (~65,000 entries). Subsequent DIR times are fine, but if an INT 25/26 are performed (absolute disk read/write), the values are reset and boom, a DIR takes a minute again. (BTW, the very first version of DOS to implement >32M partitions, Compaq DOS 3.31, also has this hang.)

One way to cut this time down is to create partitions that are just over the size of a power of 2, so that when DOS creates the filesystem, the cluster size doubles and the FAT size halves. So, creating partitions that are (for example) 260M, or 518M, or 1.05G, etc., can help because there are only 32K+ entries to slog through instead of 64K+.

This is only a problem on 8088/8086/NEC v20/NEC v30 systems. On anything faster, the delay is so short that most people don't notice it.

Thanks for this information, only the last part i dont understand. So if iam just installing MS-DOS 3.3 with fat12 it would be fine? But if i have an os with fat16 and i need to split the harddisk, then it isnt usefull to partition it to 512M.. So it better to get in between 256M and 512M ?? If i understand correct. So when i use 512M it uses bigger (clusters) So instead of 64K i need the 32K to speed up? But if i do, would the result be very noticeable?

I really like to know which disk sizes i can choose, when i want to have 32K clusters instead of 64K
 
Last edited:
So if iam just installing MS-DOS 3.3 with fat12 it would be fine?

All configs are "fine", but FAT12+DOS 3.3 will return faster on an initial DIR.

But if i have an os with fat16 and i need to split the harddisk, then it isnt usefull to partition it to 512M.. So it better to get in between 256M and 512M ?? If i understand correct. So when i use 512M it uses bigger (clusters) So instead of 64K i need the 32K to speed up? But if i do, would the result be very noticeable?

I've cut the initial DIR time almost in half this way. It's most noticable on a PCjr, where the very slow RAM access time can make an initial DIR take up to 50 seconds.

The trick works regardless of what cluster size you have; the key is choosing a size that causes DOS to pick the largest cluster size so the FAT is as small as possible. If you don't quite understand and just want an easy formula to follow, do this:

  1. Pick the power-of-two size you want (128MB, 256MB, 512MB, etc.)
  2. Add 8 to that number when you choose the partition size (136MB, 264MB, 520MB, etc.)

This will "bump" the cluster size up to the next multiple and reduce the size of the FAT.

Another way to solve this? Just put "DIR C:" in your AUTOEXEC.BAT so that the initial delay is done before you sit down to use the machine. :)
 
Is there a program where i can check if the file system uses 32K or 64K clusters..

So it is no possibility to add 16 or bigger that way?

Or am i stuck on 136MB, 264MB, 520MB, 1032MB.. So i just need to choose of those and compare with the total disk size the harddisk has.. correct?

So with this way, it isnt possible to use the full disk size?

Do you really know the problem is with sizes and fdisk?? Or just wrong formatted harddisk:

https://www.google.nl/search?q=use+...firefox-a&gws_rd=cr&ei=Q5SzUpbrLMPA0QWJ84DgDg

It would be possible to format it with commands, so it could formatted wit 32K cluster..
 
Last edited:
The FAT is a structure that contains one "slot" for each cluster. The # of "slots" can't exceed roughly 64K (65535) clusters on the filesystem. So, the # of "slots" * the cluster size = total filesystem size.

I'm not sure how to explain things any simpler, so I'll point you to a DOS partitioning tool that lets you see what the cluster size is, # of clusters is, etc. called Ranish Partition Manager. Grab the 8086 version, boot it up, and try playing around with various options to see what the results are. Once you increase the cluster size and see the size of the FAT go down by half, and vice versa, the light bulb will go on.
 
Ok, so i need the largest cluster size as possible, so there are less of total clusters on the disk..

When i choose the lowest cluster size, there would be more clusters to look at, why it runs slow on the dir command, because of the V20 slower speed and no DMA access to the processor..

Is there any possibillity to get DMA access, then i guess iam limited to an custom made IDE controller?
 
DMA won't help, it is literally processing effort wading through the FAT to add up the free space. On my XT-CFv2 with DMA (which will transfer at a sustained 500KB/s+ on a PC/XT), the DIR size computation still takes ages if not cached.

The FAT cluster size also has some interested side effects for large files. FAT-12 would be the best best for a database partition, for example.
 
But then i only can make two FAT 12 partitions 30MB on one disk.. I need more space if possible.. Just about 100 - 150 MB would be fine.
 
Last edited:
What's the end-game here? The only way to improve the FAT scan is to carefully select partition sizes so that the FAT is just over 32KB (the FAT is always between 32KB and 64KB, using DOS default cluster sizes) or use some 3rd-party utility to specify larger clusters and so make a much smaller FAT. Adding BUFFERS=99 will help keep the FAT in memory, at the cost of some RAM.

This paper by Tim Patterson (DOS 1 file system architect) explains everything, and why the slow-down appears from DOS 2 onwards:

The new MS-DOS does not keep the file allocation tables in memory at all times. Instead, the tables share the use of the sector buffers along with partial-data transfers. This means that at any one time, all, part, or none of a FAT may be in memory.

Hope that helps!
 
Last edited:
I had the same problem with a 1GB SCSI drive on an IBM Model 25. The initial 'DIR' would take an appreciable amount of time, but after that it was instantaneous so I included a directory listing as the last step of my autoexec. I assumed it had to do with the slow CPU coupled with the large drive and it looks like I guessed correctly. When I swapped a Model 30-286 board into the system the delay went from about thirty seconds to four, pretty much eliminating the issue.
 
I've found a solution to this SLOWness!

I'm making an application to overcome this DIR wait because NO solution is available also today,
the concept is to "fool" dos saving the "free space" / realoading it at startup (maybe with AUTOEXEC.BAT).

So DIR command take Always the same time like from the 2nd DIR onward (also 1st) and it SAVE me most of the wait! It's not a TSR so no memory waste!

I'll publish my app (FIXDTP.EXE) on my Facebook page as soon as is completed. If you want join: https://www.facebook.com/OlivettiProdestPC1

If you are interested PM to me.

Hope this will help!
 
I insert a 2GB SCSI Hard drive in my XT (Canon A200). It workes well with the internal 5,25" 20MB MFM Hard Disk.
But typing dir takes around 15s to show the free space. In this time the HDD-LED is active. So I think the XT is reading the FAT Table and is calculating the free space.
Typing dir to c: takes round about 3s to show free space.

And yes! 2GB of HDD space is quite too much for an XT, but I had it in my Hand and what else should I do with this HDD?
 

Attachments

  • 20150331_230856.jpg
    20150331_230856.jpg
    100.4 KB · Views: 1
  • 20150310_220057.jpg
    20150310_220057.jpg
    99.9 KB · Views: 1
  • 20150421_212319.jpg
    20150421_212319.jpg
    96.3 KB · Views: 1
  • 20150317_222016.jpg
    20150317_222016.jpg
    97.2 KB · Views: 1
Back
Top