MultiDrive – free backup, clone & wipe disk utility from Atola Technology

All times are UTC - 5 hours [ DST ]




Post new topic Reply to topic  [ 37 posts ]  Go to page Previous  1, 2
Author Message
 Post subject: Re: [VINTAGE] Reviving an IBM WDI-325 (PS/2 30 hard drive)
PostPosted: October 23rd, 2026, 14:38 
Offline
User avatar

Joined: September 8th, 2009, 18:21
Posts: 17314
Location: Australia
https://hddguru.com/download/dl.php?file=ZG9jdW1lbnRhdGlvbi9BVEEtQVRBUEktc3RhbmRhcmQtMS9kMDc5MXI0Y19BVEEtQVRBUEktMS5wZGY,

Information technology - AT Attachment Interface for Disk Drives

WORKING DRAFT X3T10 791D Revision 4c

9.8 Format track <-- command code 50h, mandatory command

The implementation of the Format Track command is vendor specific. The
actions may be a physical reformatting of a track, initializing the data field
contents to some value, or doing nothing.

The Sector Count Register contains the number of sectors per track.

The track address is specified in the Cylinder High and Cylinder Low
Registers, and the number of sectors is specified in the Sector Count
Register. When the command is accepted, the drive sets the DRQ bit and waits
for the host to fill the sector buffer. When the sector buffer is full, the
drive clears DRQ, sets BSY and begins command execution.

The contents of the sector buffer shall not be written to the media, and may
be either ignored or interpreted as follows:

Code:
+=============-=============-=============-==========================+
|DD15 ---- DD0|             |DD15 ---- DD0|                          |
|-------------|             |-------------+--------------------------|
| First sector|             | Last sector | Remainder of buffer      |
| descriptor  | : : : : : : | descriptor  | filled with zeros        |
+====================================================================+


One 16-bit word represents each sector, the words being contiguous from the
start of a sector. Any words remaining in the buffer after the representation
of the last sector are filled with zeros. DD15-8 contain the sector number.
If an interleave is specified, the words appear in the same sequence as they
appear on the track. DD7-0 contain a descriptor value defined as follows:

    00h - Format sector as good;
    20h - Unassign the alternate location for this sector;
    40h - Assign this sector to an alternate location;
    80h - Format sector as bad.

NOTES

9 - Some users of the ATA drive expect the operating system partition table to
be erased on a Format command. It is recommended that a drive which does not
perform a physical format of the track, write a data pattern of all zeros to the
sectors which have been specified by the Format Track command.

10 - It is recommended that implementors resassign data blocks which show
repeated errors.

_________________
A backup a day keeps DR away.


Top
 Profile  
 
 Post subject: Re: [VINTAGE] Reviving an IBM WDI-325 (PS/2 30 hard drive)
PostPosted: Yesterday, 9:45 
Offline
User avatar

Joined: September 8th, 2009, 18:21
Posts: 17314
Location: Australia
This would be one way to autoselect the top or bottom half of the OTPROM:

Code:
           VCC
            +
            |
            +----------.
            |          |
     .------|-----.   .-.
     |   OTPROM   |   | |                HDA / preamp
     |            |   | | R             .-----------.
     |            |   '-'               |  switch   |
     |            |    |                |   _/      |
     |        A13 |----+----------------|-o/  o--.  |
     |            |                     |        |  |
     |            |                     |       === |
     |    A0 - A12|--> to 8031 MCU      |       GND |
     |            |                     '-----------'
     |    D0 - D7 |--> to 8031 MCU
     |            |
     '------------'

There is a TO-92 transistor near the A13 pin. It might be buffering the control signal from the HDA.

_________________
A backup a day keeps DR away.


Top
 Profile  
 
 Post subject: Re: [VINTAGE] Reviving an IBM WDI-325 (PS/2 30 hard drive)
PostPosted: Yesterday, 10:24 
Offline
User avatar

Joined: October 10th, 2026, 7:38
Posts: 13
Location: Switzerland
News: I found in my collection a Seagate ST-125 with the same PS/2-30 interface. When attaching it to the machine it does its normal power on seek test and I don't get the 1701 error at boot, so this drive appears to be functional. But when trying to partition it I get track 0 error, so I tried to low-level format also this one. And I found that I have the same exact symptoms of the WDI-325 unit: repeated tries and then the machine gives up, with more or less the same errors. An when trying to format it with the IBM's own diagnostic diskette, I get a bunch of "Divide overflow" errors instead of the usual ones.

At this point the question is: could be the machine itself that's malfunctioning? Perhaps there's something wrong with the ISA bus, or at least the segment of it that goes to the disk? It could well be the disk that's bad, I don't exclude that, but now I'm questioning my whole PS/2's integrity.

I can get another PS/2-30 borrowed from the warehouse of the retrocomputing association I'm member of, but I'll be able to get it only in the next days. In the meantime, what are your thoughts about this?


Top
 Profile  
 
 Post subject: Re: [VINTAGE] Reviving an IBM WDI-325 (PS/2 30 hard drive)
PostPosted: Yesterday, 10:33 
Offline
User avatar

Joined: September 8th, 2009, 18:21
Posts: 17314
Location: Australia
Does your ST125 now produce a 1701 error at boot?

You can dump sector 0 using DEBUG.EXE in DOS. I can show you how to do this, if you like.

_________________
A backup a day keeps DR away.


Last edited by fzabkar on October 24th, 2026, 10:34, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: [VINTAGE] Reviving an IBM WDI-325 (PS/2 30 hard drive)
PostPosted: Yesterday, 10:34 
Offline
User avatar

Joined: October 10th, 2026, 7:38
Posts: 13
Location: Switzerland
No, but nevertheless I can't low-level it.

fzabkar wrote:
You can dump sector 0 using DEBUG.EXE in DOS. I can show you how to do this, if you like.


Yes, please do.


Top
 Profile  
 
 Post subject: Re: [VINTAGE] Reviving an IBM WDI-325 (PS/2 30 hard drive)
PostPosted: Yesterday, 10:40 
Offline
User avatar

Joined: September 8th, 2009, 18:21
Posts: 17314
Location: Australia
This loads sector 0 from drive C: into memory and displays it.

Code:
C:\>DEBUG
-L 100 2 0 1
-D 100 L 200
-Q

_________________
A backup a day keeps DR away.


Top
 Profile  
 
 Post subject: Re: [VINTAGE] Reviving an IBM WDI-325 (PS/2 30 hard drive)
PostPosted: Yesterday, 10:43 
Offline
User avatar

Joined: October 10th, 2026, 7:38
Posts: 13
Location: Switzerland
It fails right away at line -L 100 2 0 1. I get "Invalid media type reading drive C". The thing I find strange is that the drive's LED doesn't even blink when I do that. It should at least do a brief blink, or the process is so fast that the LED actually blinked but it was unnoticeable?


Top
 Profile  
 
 Post subject: Re: [VINTAGE] Reviving an IBM WDI-325 (PS/2 30 hard drive)
PostPosted: Yesterday, 10:45 
Offline
User avatar

Joined: September 8th, 2009, 18:21
Posts: 17314
Location: Australia
Try "L 100 0 0 1". This will load sector 0 from drive A:.

_________________
A backup a day keeps DR away.


Last edited by fzabkar on October 24th, 2026, 10:48, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: [VINTAGE] Reviving an IBM WDI-325 (PS/2 30 hard drive)
PostPosted: Yesterday, 10:48 
Offline
User avatar

Joined: October 10th, 2026, 7:38
Posts: 13
Location: Switzerland
I can get sector 0's content from drive A, I see bytes and the "Non-System disk or disk error" message that pops up when there's no OS on the diskette. And I see the floppy drive's LED coming on when debug reads it, as it should do.


Top
 Profile  
 
 Post subject: Re: [VINTAGE] Reviving an IBM WDI-325 (PS/2 30 hard drive)
PostPosted: Yesterday, 10:55 
Offline
User avatar

Joined: September 8th, 2009, 18:21
Posts: 17314
Location: Australia
Do you get a 1701 error when no HDD is connected? If so, then the absence of this error means that your Seagate HDD is being detected.

Try the attached DOS tools. I think both are Seagate tools.


Attachments:
IDE-identify.7z [46.19 KiB]
Downloaded 12 times

_________________
A backup a day keeps DR away.
Top
 Profile  
 
 Post subject: Re: [VINTAGE] Reviving an IBM WDI-325 (PS/2 30 hard drive)
PostPosted: Yesterday, 11:13 
Offline
User avatar

Joined: September 8th, 2009, 18:21
Posts: 17314
Location: Australia
Try drives B: and D:

    L 100 1 0 1
    L 100 3 0 1

If you get anything other than "Invalid media type reading drive X", this might provide a clue.

_________________
A backup a day keeps DR away.


Top
 Profile  
 
 Post subject: Re: [VINTAGE] Reviving an IBM WDI-325 (PS/2 30 hard drive)
PostPosted: Yesterday, 11:16 
Offline
User avatar

Joined: October 10th, 2026, 7:38
Posts: 13
Location: Switzerland
fzabkar wrote:
Do you get a 1701 error when no HDD is connected? If so, then the absence of this error means that your Seagate HDD is being detected.


No, but it can be normal as PS/2-30 PCs with 8086 CPU, which mine is, are designed to work without hard drive and have two floppies instead, so the machine doesn't complain if there are no hard disks attached.

When the Seagate is connected I don't too get any error, and after the BIOS post the drive can be heard doing the usual brief single-seek when DOS boots from the floppy and, I think, queries int13h to see if there's an hard drive. The machine behaves normally so far, but when I try to access the drive problems begin. I can't read nor low-level format it in any way with any tool. And with 3rd party tools (speedstor/hardprep, ontrack disk manager, etc...) when they try to detect the drive's type, every time they get weird C/H/S geometries instead of the correct 615/4/17 while complaining that they can't properly detect the drive.

I get the error when the WDI-325 is connected tho. The machine tries to interrogate it at BIOS post, the stepper does a brief "bzzzz" to put the heads to where cylinder 0 is supposed to be, then the 1701 error is being thrown.

fzabkar wrote:
Try drives B: and D:

    L 100 1 0 1


It asks me for diskette B: and press a key when ready, as expected

fzabkar wrote:
    L 100 3 0 1


It throws at me "Disk error reading drive D", as expected as well.

fzabkar wrote:
Try the attached DOS tools. I think both are Seagate tools.


With the Seagate, IDEINFO gives me a bunch of garbled mess and FIND-ATA freezes right away. With the IBM, both just freeze.


Top
 Profile  
 
 Post subject: Re: [VINTAGE] Reviving an IBM WDI-325 (PS/2 30 hard drive)
PostPosted: Yesterday, 11:42 
Offline
User avatar

Joined: September 8th, 2009, 18:21
Posts: 17314
Location: Australia
Quote:
With the Seagate, IDEINFO gives me a bunch of garbled mess


Can you upload this mess? Perhaps the IDE interface has a stuck bit.

Did you try specifying the actual XT port addresses (320–32F ?) rather than the AT defaults? Ports 1F0 and 170 are the standard AT ports.

    IDEINFO P 1f0 P 170 F

    IDEINFO P 320 F

Quote:
-F Writes drive identify info to idedrive.* files to current directory.

_________________
A backup a day keeps DR away.


Top
 Profile  
 
 Post subject: Re: [VINTAGE] Reviving an IBM WDI-325 (PS/2 30 hard drive)
PostPosted: Yesterday, 12:15 
Offline
User avatar

Joined: October 10th, 2026, 7:38
Posts: 13
Location: Switzerland
The first time I didn't gave it the port parameter, but giving it the correct port it behaves the same way.

I can't upload anything because the program actually crashes. If I try to press a key while the garbled characters scroll on the screen (it's a continuous scroll), the machine freezes as soon as I do it. Trying IDEINFO P 320 F doesn't produce any file to my boot floppy, neither does IDEINFO P 320 > a:\info.txt. It starts by showing some backslashes separated by a lot of spaces, then after a while other random characters appear, then after some 30 seconds or so the program hangs.

It did an interesting thing tho: when I rebooted and retried the last time before writing to you, the first time it gave me a "division overflow" error but the machine returned to the DOS prompt. I tried again, this time it gave me a similar error (it was talking about "domain" or something but I suppose that it has to do again with a division overflow error, I suspect that something in the code divides a value by 0 which obviously causes that). The third time it started again with its crapshow of random characters then hanged.

"Division overflow" errors are the same thing that I get with the IBM Advanced Diagnostic program when I try to low-level format this Seagate drive (that doesn't happen with the IBM). I don't know, at this point I'm starting to suspect that there's something really going wrong with the ISA bus with this motherboard. I remember that when I got the machine some years ago I had to wash the mobo with soapy water because it was absolutely filthy. At a first glance it doesn't seem that there are damages to the board, solder joints look to be all OK and besides the issues with the hard drive the machine works, but who knows at this point. Maybe a TTL chip on the bus is misbehaving, I don't know. Or maybe it's the RAM that's bad, on the mainboard there are still the original 30 pin SIMMs.

That'll be interesting to see what it's going to happen with the other PS/2. I'm planning to go to the warehouse and grab it tonight.


Top
 Profile  
 
 Post subject: Re: [VINTAGE] Reviving an IBM WDI-325 (PS/2 30 hard drive)
PostPosted: Yesterday, 12:36 
Offline
User avatar

Joined: September 8th, 2009, 18:21
Posts: 17314
Location: Australia
I'm sorry I can't help you. I did repair several PS/2s during those years, but none had a hard drive. They were all diskless workstations from the same client (a Singapore bank). Also, I don't recall encountering any XT-IDE drives.

BTW, the PS/2 Model 25 had a problematic VGA IC (SMOS Systems). The horizontal and vertical sync outputs used to go bad, resulting in tearing and vertical hold problems. If you encounter one of those, I have a potential solution.

_________________
A backup a day keeps DR away.


Top
 Profile  
 
 Post subject: Re: [VINTAGE] Reviving an IBM WDI-325 (PS/2 30 hard drive)
PostPosted: Yesterday, 17:07 
Offline
User avatar

Joined: September 8th, 2009, 18:21
Posts: 17314
Location: Australia
This routine executes a BIOS INT 13h call to retrieve physical sector 0 (CHS 0/0/1) from the first HDD.

https://en.wikipedia.org/wiki/INT_13H#INT_13h_AH=02h:_Read_Sectors_From_Drive

>DEBUG

A 100 (start assembling at 100h)
MOV AX,CS
MOV ES,AX
MOV BX,0200
MOV AH,02
MOV AL,01
MOV CH,00
MOV CL,01
MOV DH,00
MOV DL,80
INT 13
INT 3


Hit <CR> on blank line to terminate input.

G=100 (starts executing at 100h)

D 200 L 200 (dumps the sector at 200h)

This writes the sector dump at 200h to a file MBR.BIN in the current directory of your floppy:

N MBR.BIN
RCX
200
W 200

_________________
A backup a day keeps DR away.


Top
 Profile  
 
 Post subject: Re: [VINTAGE] Reviving an IBM WDI-325 (PS/2 30 hard drive)
PostPosted: Today, 6:50 
Offline
User avatar

Joined: October 10th, 2026, 7:38
Posts: 13
Location: Switzerland
fzabkar wrote:
I'm sorry I can't help you.


Don't worry, you're already helping me and I appreciate that :)

I didn't have the time to update here yesterday with my last findings because I had to prepare to go out for dinner with some friends, but a thing happened: the drive had a brief moment of lucidity. As I'm starting to suspect my machine, I removed an old ethernet adapter that's installed in it together with the ISA riser card, and the math co-processor which was installed too. Then I turned on the PS/2, the hard drive did a proper power-on seek test and its LED did not exhibit the error blinking pattern. After post the machine started to boot with my MS-DOS 4 boot disk and the hard drive did another seek, again without exhibiting LED error patterns.

I started HARDPREP, which is one of the tools I'm using to try to low-level format the drive. It still didn't detect correctly the drive's geometry and I forced myself the correct one, as usual. Then, instead of trying to low-level format the full drive, I decided to try to format only the first 10 cylinders (the program has a facility that allows the user to choose a span of cylinders/heads to be formatted instead of the whole disk), with interleave of 2. And, lo and behold, it did! So I formatted the cylinders in groups all the way to 614, and appearently it managed to format them all. The cylinder count was counting without errors and the heads can be heard moving. I tried that multiple times before too but I was always unsuccessful, this time instead it worked. Then I did a full low-level format, and the drive managed to do that too. But after the format, the program started to check the surface for errors, and here is when the drive started to misbehave again. Then it gone back to its status of semi-coma, and now I'm in the same situation as before. Just for fun, I tried your assembly routine to dump cylinder 0 and of course at this point it didn't work.

Yesterday I didn't manage to grab another PS/2, I hope to be able soon. I'm not telling that my machine is malfunctioning, also because it passes the diagnostic disk's system board and RAM tests, but I'm not excluding anything at this point.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 37 posts ]  Go to page Previous  1, 2

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 81 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group