VOGONS


First post, by ecco

User metadata
Rank Newbie
Rank
Newbie

Hi All!
Been working on a reverse engineering of the DC-600 firmware. I recently found this card on scrapyard in good condition. I disassembled the original 64KB ROM, figured out the ST100AII registers and rewrote the firmware from scratch.

Currently, I've implemented such things:
- LBA28 disk support. Also controller presents itself as LBA capable in identity packet.
- 4-way cache instead of original firmware fully-associative.
- Full controller autonomy (no need for an configuration utility to setup device during post).
- Build configurable WB/WT.
- Internally uses READ/WRITE MULTIPLE for cache line fill or line flush.
- FLUSH CACHE (0xE7) ATA command for data safety.
- Proper ATA-3 IDENTIFY response

For testing I installed windows 98/ME on old 700mb seagate and no files has been corrupted as result:) Typical windows usage shows a ~20-30% hit rate. I also tested with 80gb samsung drive and looks like it works fine.
There is still some bugs mostly with drive or bios detection. Controller might not detect some drives properly. It still needs more proper testing.
For now, I have to always use XTIDE bios as my 486 board bios does not boot from controller with my firmware.

Reply 1 of 2, by vstrakh

User metadata
Rank Member
Rank
Member

I have untested Tekram DC-600CF, the chip looks totally different, it's not the ST100AII but TRM600C 🙁

Reply 2 of 2, by ecco

User metadata
Rank Newbie
Rank
Newbie
vstrakh wrote on 2026-03-27, 20:55:

I have untested Tekram DC-600CF, the chip looks totally different, it's not the ST100AII but TRM600C 🙁

Those chips look different but they share a similar design. I don't understand a full design of TRM6XX asics yet. Maybe later I will try to port my firmware code for other asics.