• Please review our updated Terms and Rules here

Information on wd1002-wx2 8-bit hard disk controller?

SomeGuy

Veteran Member
Joined
Jan 2, 2013
Messages
4,438
Location
Marietta, GA
wd1002-wx2.jpg
Does anyone have any information about this specific model of hard disk controller?

From the shreds I have found, it looks like this may have been specifically intended for system builder OEMs (rather than general retail). The ROM does not permit use of any random configuration, requiring that the disk parameters be burned in to the EPROM.

Some places say this is similar to the smaller wd1002S-wx2 card, but the jumpers are different. Actually, this didn't even have jumpers originally, only solder points with cutable traces. At one point a loooong time ago I added jumpers and programmed my own BIOS for use with another drive. But now I don't remember what those solder points/jumpers were for!

The hard drive that came with this (a 10mb MFM drive) is actually still humming away in another machine with a better controller.
 
I have the data sheet for the WD1002A-WX1, which you'd think would be earlier, but it's a half-length card. How about a dump of the BIOS on the card?
 
It may be from the Columbia Data Products MPC 1600 or similar. They started to use WD controllers before IBM (IBM used Xebec).

AFAIC, early XT WD BIOS not allowed to use user-defined geometry, BIOS contained a fixed geometry table selectable by jumpers.
Leter, WD added a new format utulity (at c800:5) asking C/H/S from user, so called WD SuperBIOS.
 
I think it varied from controller to controller. Some WD XT-style controllers can record the disk geometry on the first track; others can use DIP switch or jumpers to adjust geometry. WD made a bewildering variety of 8-bit ST412 controllers.
 
alecv, what makes you mention the MPC 1600? :)

I have the data sheet for the WD1002A-WX1, which you'd think would be earlier, but it's a half-length card. How about a dump of the BIOS on the card?

I actually used to have a WD1002A-WX1. Small, surface mounted parts, much newer. WTF version numbering?

Here is the original BIOS from the card (didn't know you could put zip files in the attachment manager here):

View attachment wd1002-wx2 IDEA BIOS ROM 8 7-26-85.zip

This specific card was used with a Tandon TM502 10mb hard drive that was re-branded by "IDEA Associates". This BIOS indeed does not support formatting any random configuration. You can execute g=c800:5, but its formatter does not accept any parameters except the drive number and interleave. (And you have to put those in the AH/AL registers with debug. Very friendly). The drive parameters are stored in a table near the beginning of the ROM. If you want to use a different model of drive, you have to change the ROM. I suspect whoever IDEA Associates were, probably customized this ROM with their parameters.
 
Hmm, I've got a 4K WD BIOS ROM here; probably from an WX2 as well. I'll have to check to see it.

But, notice that at about 40H offset from the start, there are 4 16-byte entries. They're varying device types. The last two are null, but the first and second appear to be:

306 cylinders, 4 heads,
615 cylinders, 4 heads.
 
New ROM Version?

New ROM Version?

Hello, I am new here as member, but I head read a lot in this Forum. Sorry for my English, hope it is good enough for this excellent forum.

I have exact the same controller WD1002-WX2. With the ROM limitation of 10MB Type 1 hard disks (Version 62-000042-011). Same as shown above.
I am on the way to change the ROM to control Type 2 hard disks.
In the Computerbase-Forum (German http://www.computerbase.de/forum/showthread.php?t=1446629) I got some support, but before I will kill some Hardware, I want to ask here if someone has done it jet?

Also I read in some guidelines that the Controller can deal with the ROM Version 62-000043-10 where I can put the Cyl/Head/ect. see therefor the attachment. Same ROM Version should be on the WX1 Controller.

My question(s):
Does anyone have the ROM Version 62-000043-10 for virtual BIOS?
Code:
   WD #         Sorbus #         description            BOARD TYPES
62-000042-011   HD971011        XT HD BIOS              WX1,WX2
62-000042-012   HD970012        XT HD BIOS              WX1,WX2
62-000042-013                   XT HD BIOS              WX1,WX2
62-000043-10    HD971010        HD VIRTUAL BIOS         WX1,WX2
62-000089-030                   RLL BIOS                WX1,WX2,27XX

                        *** Compatible Controllers ***

WD1002-WX2      Original board introduced in 1983   ROM location U36
WD1002A-WX2     Same as WD1002S-WX2 (long board)    ROM location U14
                                                U10 in early versions
The BIOS ROMs are interchangeable between boards.

Or has anyone modified the old ROM Version 62-000042-011 which I have?

Please find also attached the ROM Version 62-000042-011 I read out from my Controller.

Thanks & Regards

Beckenrandschwimmer
 

Attachments

  • WD1002-WX2 BIOS VERSIONS ERKLÄRUNG.txt
    6.1 KB · Views: 2
  • mfm wd1002-wx2.zip
    1.6 KB · Views: 3
Dear archeocomp,

thanks for your reply. I will try this one:
wdhdbios.rom 5040 ROM HDC BIOS for WD1002S-WX2
I have a 24 pin 8k ROM where I can copy it. This ROM seems very simila to my, but with the option to set the parameters manually. But it will take 2 weeks because of full load with familie :)

Or has someone else a better Idea?

Regards

Beckenrandschwimmer
 
Welcome to these forums.

Please find also attached the ROM Version 62-000042-011 I read out from my Controller.
I have a 62-000042-011 BIOS ROM on my WD1002S-WX2 (although labelled 62-000042-11, not 62-000042-011).
Unlike with your 62-000042-011 ROM, the drive table in my ROM matches what is in the documentation that you attached.
Some information on the drive table within my 62-000042-011 ROM is [here].
An image of my ROM is at [here].

I am on the way to change the ROM to control Type 2 hard disks.
None of the drive entries in my ROM exactly matches a type 2, because a type 2 has a WFC of 300.
But my opinion is that in a hobby environment, WPC is not important.

If you decide to modify the drive entries in the 62-000042-011 ROM, note that after you have done that, you need to change the last byte in the ROM so that the 8-bit checksum is 00. Also, if your WD1002-WX2 does not have jumpers to select which drive entry is used, note that the WD1002-WX2 may use the fourth entry, not the first.
 
Thanks,

I have worked further on this "problem". and I think I have solved it in theories.
I have found an description of the ROM BIOS for the controller and the disk parameters. So I was able to check where the parameters are stored. See attached picture.
44h to 47h: Device 0 Cyl (2byte) Hd(1byte) Reduced write current (2byte) and WPC (2byte)
54h to 57h: Device 1 Cyl (2byte) Hd(1byte) Reduced write current (2byte) and WPC (2byte)
64h to 67h: Device 2 Cyl (2byte) Hd(1byte) Reduced write current (2byte) and WPC (2byte)
74h to 77h: Device 3 Cyl (2byte) Hd(1byte) Reduced write current (2byte) and WPC (2byte)

Modem7, you are right. I have no jumpers and so the last drive is used.
Than I created a table for my drive: (see attached table)

So I will use this change in the first step. Only thing I can not find is the Land zone. How it is made? Can Park.com handle land zone 670?
 

Attachments

  • BIOS TABLE DISK.jpg
    BIOS TABLE DISK.jpg
    21.1 KB · Views: 5
  • EPROM Auswertung.zip
    7.7 KB · Views: 1
Another Reply, because I cannot edit my previous post --> still under examination of an moderator.

In the documentation of the WD controllers (named "Storage Management Products Handbook") on Page 471 of 614 the Table is printed (I have made a picture of this table in previous post). Maybe I cannot attache the file because of 22MB.
So I think, what you named land zone is the reduced write cylinder. The LZ is still missing.

Regards

Beckenradschwimmer

EDIT: how can I park this hard disk? ST-225 has no auto park function. How park.com knows the park position if not set in the drive parameters?
 
Last edited:
So I think, what you named land zone is the reduced write cylinder. The LZ is still missing.
Yes, I think you are right.

EDIT: how can I park this hard disk? ST-225 has no auto park function. How park.com knows the park position if not set in the drive parameters?
There has been discussion before in these forums about what the generic head parking programs do on XT-class computers. I think the outcome was that they do something simple like moving the heads to the last cylinder.
 
So, has any of you tried to make a customized ROM with parameters of your own?
I ask since I have just got a Toshiba with this HD controller and a Seagate ST-251 which is a 42mb drive, but it is formatted at 10mb right now.
 
Hi nollkolltroll,

no, but I will try next week. I have a ST225, a ST251 (not my) and a Tandon-703AT. I will give feedback.
Based on the documentation the max. capacity is: 1024 cyl & 8 heads with 17 sectors = 70MB
But I also see an RLL BIOS in the documentation for this controller, but I have not the binary file.
 
So, has any of you tried to make a customized ROM with parameters of your own?
Quite a few readers here will have done that.

I ask since I have just got a Toshiba with this HD controller and a Seagate ST-251 which is a 42mb drive, but it is formatted at 10mb right now.
If you want to pursue that, create a new thread (rather than hijacking this one). Be sure to include make/model information on the "Toshiba", and the HDD controller.
 
It was not my intention to hijack the thread, more of a background to my question.
I'd still want to hear of success stories for this card, so I don't spend too much time on a wild goose chase.
So, pertinent to this thread:
- any success stories changing ROM-parameters, including what drive was used.
- any limitations regarding size of drive etc?

I did find some relevant info regarding the WD1002-range:
http://bitsavers.trailing-edge.com/pdf/westernDigital/WD100x/
 
I'd still want to hear of success stories for this card, so I don't spend too much time on a wild goose chase.
So, pertinent to this thread:
- any success stories changing ROM-parameters, including what drive was used.
- any limitations regarding size of drive etc?
If you search these forums, you will find examples of success. But reading such examples will not bring to your attention everything you need to know.

Some considerations:

Is the new drive compatible with the particular XT-class controller?
Eg. Interface (eg. ST506/412 versus ESDI)
Eg. Head step pulse compatibility
Eg. Maximum head count (eg. some controllers are limited to 4 heads, some 8, some 16)(see [here])

Where is the drive table in the controller's BIOS expansion ROM? There is no standard. If you find it, what is its structure? There is no international standard.
SpeedStor, used with the ROMLIST switch, can usually help in that regard, but cannot if an unknown (unknown to SpeedStor) structure is used.

After altering the drive table, which byte in the BIOS is adjusted so that the 8-bit checksum is 00. It is not always the last byte in the BIOS (because sometimes, only a portion of the BIOS is checksummed).
 
Modem7, I believe the info in this thread is enough to modify the drive geometry parameters, and fix the checksum. Have EPROM-programmer, will travel ;)
The drive in question is already in use with this card, but uses the wrong parameters and thus yielding only 10mb of the 42mb available. My hope is that the card and Dos will accept the changed parameters without problems. As you say, there may be limits on some of the parameters. I'll just have to try it.
Now I'll need to get some floppies so I can create boot-disks to restore the system afterwards.
 
Back
Top