VOGONS


First post, by Jackhead

User metadata
Rank Member
Rank
Member

I was looking for some cached controller for my 486 and most of us know the promise or tekram models.
But now i found this one here:

s-l1600.jpg
Filename
s-l1600.jpg
File size
138.5 KiB
Views
711 views
File license
Public domain

Its from the company Datacare marked as Di610. But when you look closer it has near the same chips and layout as the tekram DC-680T.
And when you look where the Tekram has the DC-680T tag, there is a sticker on the datacare 😀..
I wonder if this is a clone, or was this controller made for more companys from the same source?

Dos 6.22: Asus VL/I-486SV2GX4 Rev 2.0 1Mb L2 - AMD A5x86 X5 ADZ 133MHz @160MHz - 64MB RAM - CT2230 - GUS ACE - MPU-401 AT - ET4000W32P
Win98SE: Asus P5K-WS - E8600 @ 4,5GHz - Strange God Voodoo 5 6000 PCI @ 66MHz PCI-X - 2GB DDR2 1066 - Audigy 2 ZS

Reply 1 of 19, by mkarcher

User metadata
Rank l33t
Rank
l33t

Datacare has been acquired by Tekram. It's the same hardware, but likely a very old firmware revision. You can upgrade to ROM 2.x using DC680TR.ZIP from http://files.mpoli.fi/hardware/HDD/TEKMAR/ . This requires you to write new EPROMs. The card is does not have flash ROM that can be updated using software. ROM 2.x just uses ROMs. The ROM below the ST300ALI chip (U20) is not required anymore when you upgrade to 2.x, you can leave your current chip in there or just remove it, it doesn't matter. I've just seen that you have the 1.4 ROMs. I have a dump of U20, but no dumps of U26 and U28 V1.4. In case you have the equipment, can you dump those chips?

An upgrade to firmware 2.x is highly recommended, because the cache management code performs better, and the RAID stuff actually does what it promises.

Reply 2 of 19, by Jackhead

User metadata
Rank Member
Rank
Member

Thanks alot for the informations! Yes im able to write/read the roms. Can i delete/write the ROMS or do i need a uv eraser?
And yes i will dump you the roms and upload it here, np. I think i get the board in the next 2days..

Dos 6.22: Asus VL/I-486SV2GX4 Rev 2.0 1Mb L2 - AMD A5x86 X5 ADZ 133MHz @160MHz - 64MB RAM - CT2230 - GUS ACE - MPU-401 AT - ET4000W32P
Win98SE: Asus P5K-WS - E8600 @ 4,5GHz - Strange God Voodoo 5 6000 PCI @ 66MHz PCI-X - 2GB DDR2 1066 - Audigy 2 ZS

Reply 3 of 19, by mkarcher

User metadata
Rank l33t
Rank
l33t
Jackhead wrote on 2023-05-02, 17:54:

Thanks alot for the informations! Yes im able to write/read the roms. Can i delete/write the ROMS or do i need a uv eraser?
And yes i will dump you the roms and upload it here, np. I think i get the board in the next 2days..

The original ROM chips on the card you have are UV erasable ROMs. They are 32k x 8 (256kBit, 27c256 like), and can be substituted by pin-compatible EEPROMs like the Winbond W27C256/W27C257 or similar flash chips like the AT29c256.

Reply 5 of 19, by TheMobRules

User metadata
Rank Oldbie
Rank
Oldbie

Sorry for being slightly off-topic, but I recently managed to get the Tekram DC-620B, which is kind of the EISA equivalent of OP's card (and one of the seemingly very few EISA IDE controllers).

My card has only two ROM chips, they're labeled v1.30. Would anyone be interested in dumps of this specific version of the firmware?

In the link posted above by mkarcher, there seems to be a v2.02 ROM update for this card in a single chip, and curiously in the DC6x0U driver package an EISA configuration file mentions that versions > 2.01 add EISA ID support, even though it is still completely optional according to the manual. I'm not familiar with the EISA specification, but it seemed odd that a BIOS update would add this feature, I thought the PCB would need some kind of tweak. Currently the card works just fine with BIOS v1.30 even though is not detected in the ECU at all (selecting the CFG file results in an error), but I may give 2.02 a try just to see if the card appears in the ECU.

Reply 6 of 19, by Jackhead

User metadata
Rank Member
Rank
Member
Disruptor wrote on 2023-05-02, 19:08:

Please post all 3 ROMs, as we do not have the 1.40 firmware yet.

Sure thing.

Question about the cache. Did someone here test how the speed scale with different cache setups?
more cache - faster transfers?
Since you can upgrade up to 16MB i wonder if its worth

Dos 6.22: Asus VL/I-486SV2GX4 Rev 2.0 1Mb L2 - AMD A5x86 X5 ADZ 133MHz @160MHz - 64MB RAM - CT2230 - GUS ACE - MPU-401 AT - ET4000W32P
Win98SE: Asus P5K-WS - E8600 @ 4,5GHz - Strange God Voodoo 5 6000 PCI @ 66MHz PCI-X - 2GB DDR2 1066 - Audigy 2 ZS

Reply 7 of 19, by mkarcher

User metadata
Rank l33t
Rank
l33t
TheMobRules wrote on 2023-05-02, 19:49:

Sorry for being slightly off-topic, but I recently managed to get the Tekram DC-620B, which is kind of the EISA equivalent of OP's card (and one of the seemingly very few EISA IDE controllers).

My card has only two ROM chips, they're labeled v1.30. Would anyone be interested in dumps of this specific version of the firmware?

I do collect DC6x0 ROMs. I know how these controllers work, and that's why I think they are not that useful in most common scenarios, but still a nice gimmick to have. If you want a more in-depth explanation, take a look at Re: List of VLB IDE Controllers for example.

TheMobRules wrote on 2023-05-02, 19:49:

In the link posted above by mkarcher, there seems to be a v2.02 ROM update for this card in a single chip, and curiously in the DC6x0U driver package an EISA configuration file mentions that versions > 2.01 add EISA ID support, even though it is still completely optional according to the manual. I'm not familiar with the EISA specification, but it seemed odd that a BIOS update would add this feature, I thought the PCB would need some kind of tweak.

Your way of thinking makes sense. In fact you do need some hardware mechanism to support responding to EISA ID read requests. On the other hand, most of the DC-6x0 controllers are built around the ST100AII / ST200AEI / ST300ALI interface chips. I also have a DC660 Opti Local Bus controller, that is built from standard logic ICs (including 7 PALs) only. The 1.x firmware seems to be designed before the final specification of the STx00 chips was ready. A feature of the STx00 chips is that they include a small BIOS extension that downloads the actual host BIOS from the controller and installs it into conventional RAM (unless you select "use mainboard BIOS"; in that case the BIOS code is dropped after intialization). That's the reason why the 2.x firmware needs one ROM chip less. All the cards with the STx00 chips support this "host-ROM less mode", but only the 2.x firmware activates this feature. The situation about the EISA ID could be similar: Datacare/Tekram already had firmware 1.x developed before the EISA interface chip was ready, so the firmware didn't tell the interface chip which ID to report (as firmware writers didn't even know that the interface chip will support it), and only the 2.x firmware initializes the ID registers, allowing EISA identification.

TheMobRules wrote on 2023-05-02, 19:49:

Currently the card works just fine with BIOS v1.30 even though is not detected in the ECU at all (selecting the CFG file results in an error), but I may give 2.02 a try just to see if the card appears in the ECU.

With a 1.x firmware, you should notice a considerable increase of the access time (I mean it gets slower) if you add a lot of cache (like 8MB) at the smallest cache line size (i..e 512B, if that one is even selectable), because the algorithms of the 1.x firmware are not optimized to handle that many cache lines. Increasing the cache line size to 4K helps. With firmware 2.x, you can use 512B cache line size without any performance degradation even at 16MB cache.

Reply 8 of 19, by mkarcher

User metadata
Rank l33t
Rank
l33t
Jackhead wrote on 2023-05-02, 20:56:

Question about the cache. Did someone here test how the speed scale with different cache setups?
more cache - faster transfers?
Since you can upgrade up to 16MB i wonder if its worth

If you use a modern operating system with integrated disk caching, and you can put the RAM into mainboard sockets, don't waste it into the cache controller sockets. The linear transfer speed of the Tekram controllers is PIO0, no matter how much cache you install, because the controller uses PIO0 speed to communicate with the drive. Of course, more memory increases the amount of cached data and thus it increases the hit rate of the cache. Cache hits are quite fast, especially on the VL controllers. So with more cache RAM, you get more fast cache hits, and less slow cache misses, but the hits at 16MB cache are just as fast as the hits at 512KB cache, and the same applies to misses.

With the 1.x firmware, the cache management implementation is so simple that the cache management overhead starts degrading performance if you have a lot of cache lines (i.e. you have much cache, and select a small cache line size in the controller setup). Adding cache may significantly worsen the access time, unless you increase the cache line size. Firmware 2.x should solve that issue, though.

Reply 9 of 19, by Disruptor

User metadata
Rank Oldbie
Rank
Oldbie
Jackhead wrote on 2023-05-02, 20:56:

Question about the cache. Did someone here test how the speed scale with different cache setups?
more cache - faster transfers?
Since you can upgrade up to 16MB i wonder if its worth

You won't be able to increase the transfer speed to the disk by adding more cache memory.
As far as I know, mkarcher has found out that more modern disks just can be faster when you use tighter timings on the IDE bus.
The IDE timings are derived from the VL speed and the controller BIOS does detect it during startup.
He has patched my BIOS that it may use the 25 MHz timing settings to work even at 40 MHz.
That results in a speed that is between PIO1 and PIO2 then. Not really fast!

However, there do exist a few old HDDs that really benefit from that cache controller. But they are in the class < 300 MB and far below the limits from PIO0.

Reply 10 of 19, by Jackhead

User metadata
Rank Member
Rank
Member

Got the controller. First at all i remove that Sticker on the board DC 680T 😀.
I backuped the 1.40 Bios. The U20 was a 512 rom. The other two are 256.
Hope the Dumps are good. Please let me know. Enjoy ..

Filename
Tekram DC680T Bios 1.40.rar
File size
23.32 KiB
Downloads
20 downloads
File license
Public domain
IMG_4319.JPG
Filename
IMG_4319.JPG
File size
1.17 MiB
Views
534 views
File license
Public domain
IMG_4320.JPG
Filename
IMG_4320.JPG
File size
690.89 KiB
Views
534 views
File license
Public domain

Dos 6.22: Asus VL/I-486SV2GX4 Rev 2.0 1Mb L2 - AMD A5x86 X5 ADZ 133MHz @160MHz - 64MB RAM - CT2230 - GUS ACE - MPU-401 AT - ET4000W32P
Win98SE: Asus P5K-WS - E8600 @ 4,5GHz - Strange God Voodoo 5 6000 PCI @ 66MHz PCI-X - 2GB DDR2 1066 - Audigy 2 ZS

Reply 11 of 19, by mkarcher

User metadata
Rank l33t
Rank
l33t
Jackhead wrote on 2023-05-03, 10:34:

I backuped the 1.40 Bios. The U20 was a 512kb rom. The other two are 256kb.
Hope the Dumps are good. Please let me know. Enjoy ..

Seems like Tekram hat too much money at hand. Only 16KB (128kbit) of U20 is actually used. Your dump contains 4 mirror images. That's likely not a problem of your dump, but the actual ROM contents. The content of your U20 chip happen to be identical to the U20 dump of a controller I acquired after it being upgraded to 2.x with the old V1.4 U20 still in place. I know that 128kbit ROMs are not as common as 256kbit ROMs, so it makes sense for Tekram to use 256kbit ROMs for every location on that card. Using the less common more expensive 512kbit ROM as U20 makes no obvious sense, though. Maybe they wanted to change from 256kbit to 128kbit and accidentally ordered the wrong part with preprogramming service, and having acquired the 512kbit chips, it made no sense to scrap them?

As your U20 dump is obviously correct, I am very confident the other two dumps are good, too. The firmware constructed from interleaving U26 and U28 looks sensible on the first take.

Reply 12 of 19, by Jackhead

User metadata
Rank Member
Rank
Member

Ok, because im not a pro like you guys on that stuff 😀. I do such things not to often. Used a Batronix Barlino II BX 32P reader. But happy when i can help.

Dos 6.22: Asus VL/I-486SV2GX4 Rev 2.0 1Mb L2 - AMD A5x86 X5 ADZ 133MHz @160MHz - 64MB RAM - CT2230 - GUS ACE - MPU-401 AT - ET4000W32P
Win98SE: Asus P5K-WS - E8600 @ 4,5GHz - Strange God Voodoo 5 6000 PCI @ 66MHz PCI-X - 2GB DDR2 1066 - Audigy 2 ZS

Reply 13 of 19, by CoffeeOne

User metadata
Rank Oldbie
Rank
Oldbie
Jackhead wrote on 2023-05-02, 20:56:
Sure thing. […]
Show full quote
Disruptor wrote on 2023-05-02, 19:08:

Please post all 3 ROMs, as we do not have the 1.40 firmware yet.

Sure thing.

Question about the cache. Did someone here test how the speed scale with different cache setups?
more cache - faster transfers?
Since you can upgrade up to 16MB i wonder if its worth

No matter how much cache you will use, this controller will be slower than the one you used before for your use case (fast compact flash card).
I am 99% sure. You will see it in real world benchmarks.
So I confirm what the others already said 😉

Reply 14 of 19, by Jackhead

User metadata
Rank Member
Rank
Member

Ok i got the new eproms, and some ram (8MB) and installed the Controller.
I used a CF(4gb)-IDE Adapter connected to primery and a cd drive to second port. So first start went not to bad.
The controller boot from the cf. But i had 3 partitions on that cf. Only C: is there, d and e dont show up. Do i need to create them new with fdisk?

Also in the manual is writen that you can connect a cd drive to second port when you use only 1-2 on first port. You have to set the jumper on JP3.
On the controller are a JP3 jumper but it has 3 pins. I tryed 1-2 and 2-3 but on boot the cd driver is not loaded?

First dosbench show the buffered read goes up to 19MB/s (40MHz) linear read are as expected around 2MB/s marked as PIO Mode 2.

What are the best settings for cache line size?

IMG_4333.JPG
Filename
IMG_4333.JPG
File size
991.42 KiB
Views
452 views
File license
Public domain
IMG_4332.JPG
Filename
IMG_4332.JPG
File size
1.51 MiB
Views
452 views
File license
Public domain
Last edited by Jackhead on 2023-05-05, 11:04. Edited 1 time in total.

Dos 6.22: Asus VL/I-486SV2GX4 Rev 2.0 1Mb L2 - AMD A5x86 X5 ADZ 133MHz @160MHz - 64MB RAM - CT2230 - GUS ACE - MPU-401 AT - ET4000W32P
Win98SE: Asus P5K-WS - E8600 @ 4,5GHz - Strange God Voodoo 5 6000 PCI @ 66MHz PCI-X - 2GB DDR2 1066 - Audigy 2 ZS

Reply 15 of 19, by Babasha

User metadata
Rank Oldbie
Rank
Oldbie
Jackhead wrote on 2023-05-05, 10:44:
Ok i got the new eproms, and some ram (8MB) and installed the Controller. I used a CF(4gb)-IDE Adapter connected to primery and […]
Show full quote

Ok i got the new eproms, and some ram (8MB) and installed the Controller.
I used a CF(4gb)-IDE Adapter connected to primery and a cd drive to second port. So first start went not to bad.
The controller boot from the cf. But i had 3 partitions on that cf. Only C: is there, d and e dont show up. Do i need to create them new with fdisk?

Also in the manual is writen that you can connect a cd drive to second port when you use only 1-2 on first port. You have to set the jumper on JP3.
On the controller are a JP3 jumper but it has 3 pins. I tryed 1-2 and 2-3 but on boot the cd driver is not loaded?

First dosbench show the buffered read goes up to 19MB/s linear read are as expected around 2MB/s marked as PIO Mode 2.

What are the best settings for cache line size?

IMG_4333.JPG

IMG_4332.JPG

It decrease your CF speed anyway to linear read at 2.5MB max. Such cache controllers oriented to period correct slow and little-cache HHDs (so find something like 200-500Mb HDD and compare the speed without/with controller). Models without third IDE connector (ATAPI) do not support CDROMs - anyway you can configure your motherboards IDE as SECONDARY and use CDROM here.

read my post here - #freshmeatrecovery - Tekram DC-690CD

Need help? Begin with photo and model of your hardware 😉

Reply 16 of 19, by Jackhead

User metadata
Rank Member
Rank
Member

I see, my bad. i missread that its a thrid port, and the two are only for hdd.
Ok thats a killer for my system because i dont have onboard ide..
Well i can use a panasonic on my ct1600, but that drives are stupid expensive..

Dos 6.22: Asus VL/I-486SV2GX4 Rev 2.0 1Mb L2 - AMD A5x86 X5 ADZ 133MHz @160MHz - 64MB RAM - CT2230 - GUS ACE - MPU-401 AT - ET4000W32P
Win98SE: Asus P5K-WS - E8600 @ 4,5GHz - Strange God Voodoo 5 6000 PCI @ 66MHz PCI-X - 2GB DDR2 1066 - Audigy 2 ZS

Reply 17 of 19, by Babasha

User metadata
Rank Oldbie
Rank
Oldbie
Jackhead wrote on 2023-05-05, 11:35:

I see, my bad. i missread that its a thrid port, and the two are only for hdd.
Ok thats a killer for my system because i dont have onboard ide..
Well i can use a panasonic on my ct1600, but that drives are stupid expensive..

Or you can use ISA IDE card configurable for secondary IDE port or use ISA souncard with IDE interface!

Need help? Begin with photo and model of your hardware 😉

Reply 18 of 19, by mkarcher

User metadata
Rank l33t
Rank
l33t
Jackhead wrote on 2023-05-05, 10:44:

Ok i got the new eproms, and some ram (8MB) and installed the Controller.
I used a CF(4gb)-IDE Adapter connected to primery and a cd drive to second port. So first start went not to bad.
The controller boot from the cf. But i had 3 partitions on that cf. Only C: is there, d and e dont show up. Do i need to create them new with fdisk?

Partitioning depends on the geometry (virtual number of cylinders, heads, sectors per track). Your screenshot shows that you have "track remapping" disabled, which is equivalent to "NORMAL" mode in "modern" IDE BIOses, so you are limited to 504MB anyway. If you enable track remapping, you should be able to get at least 64 virtual heads, which allows up to 2GB, I don't know offhand whether it also can work at 128 virtual heads, which would allow the full capacity to be used. Track Remapping enabled is like "LARGE" mode in "modern" IDE BIOSes. Neither the controller firmware, nor the IDE BIOS supplied with it support standard LBA mode.

The current partitioning scheme of the CF card is likely 63 sectors/track, 255 heads. The controller BIOS does not support emulating this geometry, so you likely have to repartition.

Jackhead wrote on 2023-05-05, 10:44:

Also in the manual is writen that you can connect a cd drive to second port when you use only 1-2 on first port. You have to set the jumper on JP3.
On the controller are a JP3 jumper but it has 3 pins. I tryed 1-2 and 2-3 but on boot the cd driver is not loaded?

The DC-680T, and AFAIK also the successor, the DC-680C do not support CD drives at all. The DC-680CD does, because it integrates a dedicated IDE interface for the CD drive. The Tekram caching controllers work by emulating up to two virtual hard drives using the 80186 processor on the controller. The on-board processor then checks whether the requested sector is in the cache, and sends a read or write command to the drive if required. At no time, the host computer directly communicates with the IDE devices on a DC-680T. The host only ever communicates with the 80186, and the 80186 communicates with the drive. The firmware for the 80186 does not understand ATAPI, so it can't emulate a CD drive. I'm unsure whether the integrated logic in the DC-680T would be able to emulate ATAPI, or whether it only supports 512-bytes data blocks. I reverse engineered by DC-660 built from discrete logic far enough that I can tell you that other block sizes are only implementable (if at all) with crude firmware hacks, the hardware is not intended to cope with it.

Jackhead wrote on 2023-05-05, 10:44:

First dosbench show the buffered read goes up to 19MB/s (40MHz) linear read are as expected around 2MB/s marked as PIO Mode 2.

At FSB40, the DC680T will read data from the CF card at 750ns/word, which is around 2,6MB/s. This is slower than PIO0 permits (although it is faster than default-waitstate ISA on most mainboards). PIO0 is 600ns/word which is 3,3MB/s. This is the burst transfer rate, any command overhead adds to it. 2MB/s is quite good at FSB40. I found some notes I took when I benched that controller at FSB40, and I got 1650KB/s linear read speed from a fast mechanical drive.

The hardware on the DC680T aims to hit exactly PIO0 on the drive interface. It nails it perfectly at FSB25, FSB33 and FSB50. The firmware, starting with version 1.5, also recognizes FSB20 and FSB40, but treats those speeds just like FSB25 and FSB40. As the PIO timing is derived from the VL clock, this is the reason for around 20 to 25 transfer speed drop at those bus clocks. With firmware version 1.3 and 1.4, the tipping point beetween recognizing FSB33 and FSB50 is at 40.6MHz. The uncertainty of the measurement, as performed by the firmware makes the old firmware revisions run at the 33MHz or the 50 MHz configuration randomly. If firmware 1.3 or 1.4 initialized the controller for FSB33 operation at FSB40, it would transfer at 500ns/word, which is between PIO0 and PIO1.

Jackhead wrote on 2023-05-05, 10:44:

What are the best settings for cache line size?

The idea of bigger cache lines is to reduce management overhead and allow more bulk transfer. IIRC the firmware doesn't do more readahead depending on the cache line size (but I might be wrong on that), and the algorithms in the 2.x firmware are efficient enough to not influence performance significantly even at the lowest cache line size supported by the firmware. CF cards profit even less from bigger linear read/write chunks than magnetic drives, so there is no point in choosing a big cache line size. On the other hand, small cache line size ensures less "wasted space" in the cache by assigning cache RAM to hard disk sectors in a more flexible way. The smaller the cache line size, the higher the hit rate. As the DC680T is only fast on hits, you want a high hit rate. So: Choose as low as possible.

Reply 19 of 19, by mkarcher

User metadata
Rank l33t
Rank
l33t
Babasha wrote on 2023-05-05, 13:32:

Or you can use ISA IDE card configurable for secondary IDE port or use ISA souncard with IDE interface!

I highly support that recommendation. ISA CD ROM interface cards are still cheap and easy to find, and they allow faster and cheaper CD drives than the Panasonic interface on the CT1600. See for example this offer: https://www.ebay.com/itm/334733987952 (intentionally linking a completed trade, so that it's obvious I'm not trying to push an auction I profit off).