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

All times are UTC - 5 hours [ DST ]




Post new topic Reply to topic  [ 46 posts ]  Go to page Previous  1, 2, 3
Author Message
 Post subject: Re: [VINTAGE] Reviving an IBM WDI-325 (PS/2 30 hard drive)
PostPosted: October 30th, 2026, 9:51 
Offline

Joined: September 24th, 2021, 9:17
Posts: 8
Location: europe
fzabkar wrote:
I notice that the IBM WD-325N HDD has a 4KB MCU. It's amazing what could be done with a tiny amount of ROM and RAM in those days.


not that amazing when you realize all this MCU does is most likely just handling 'buffered stepping' by counting pulses :-)

I missed posts, replied on vogons, gonna repeat here - do NOT try formatting IDE (even xt ide) disks with MFM formatting tools.
all the low level tools had warnings about this back in the day.
there were briefly tools promising low level format of some specific early ID drives, like ISPFMT (cant find it anymore, dont have it on hdd to quote its readme) and SGATFMT
https://www.uselesssoftware.com/download/sgatfmt3-zip
sgatfmt4 https://www.vogons.org/viewtopic.php?p=1192929#p1192929

SGATFMT3 wrote:
In the case of AT (IDE) drives:
AT (IDE) drives can be divided into three separate scenarios: Early,
Swift and ZBR.

1. EARLY: When AT interface drives (aka IDE - integrated drive
electronics, but so are SCSI's) were first introduced (ST157A family),
we strongly warned and cautioned against any attempt to lo-level
format the drives because 1) the factory written defect-mapping files
might be erased on reserved areas of the drive, and 2) the optimized
interleave and skewing values used would be forfeited giving slow
transfer rates. At this stage of development, SGATFMT3 lists these
drives only as a fall back option, in lieu of a factory repair format.
If the drive has somehow lost its original format, or the partition
structure been corrupted by a virus etc., SGATFMT3 could be used to
reformat _without_ the benefit of the defect mapping files. Any
defects will need to be "rediscovered" again; first, by the DOS high
level format and second, by a third-party disk scanning utility.
These utilities are quite likely to locate all of the hard errors, but
unlikely to find the soft errors. The only way to completely evaluate
a drive for both hard and soft error is by a factory repair with
extremely sophisticated diagnostic equipment. (See the glossary
section for HARD and SOFT ERRORS.)

2. SWIFT: As the AT interface products became more sophisticated
with new technology and the introduction of the Swift drives (models
like ST1239A, ST1201A etc), lo-level formatting became pretty much
"half" of a problem. When these drives are in translation mode
(non-physical geometry definitions), a lo-level format is harmless to
the factory defect-mapping files and optimized skewing (albeit
destructive to user data) since it doesn't re-sector the drive. If,
however, the Swift drive is in true physical mode, then the lo-level
format will re-sector the drive.

3. ZBR: Finally, today's AT interface drives (like the ST-1144A and
ST-3144A) are often Zone Bit Recorded (ZBR). ZBR drives, have variable
sectors per track, depending on the zone of the drive. The outside
tracks, being larger in circumference (i.e. track length is longer),
are able to hold more sectors than the innermost tracks. In this
scenario, it is IMPOSSIBLE to define the drive in CMOS setup with true
physical values. Cylinders and heads, yes.... but not the sectors per
track. Therefore, these drive are ALWAYS in translation mode and
immune to a re-sectoring lo-level format. On ZBR AT interface drives
(Seagate, at least... others UNK), the factory defect mapping files
are fully protected, and since the drive is always in translation, the
optimized skewing is also protected.


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

Joined: October 29th, 2026, 17:45
Posts: 5
Location: Tennessee
Michele, the platter swap is impressively methodical, but I'd suspect the LLF trouble lies with the servo/index track rather than the donor surfaces. Stepper drives like the WDI-325 still depend on a fixed index pulse and the original sector geometry written at the factory. Since you moved platters between a 325 and a 387, the track-to-head alignment and the recorded index reference won't necessarily match the new stack. Check whether the drive sees a stable INDEX signal and whether the controller expects a specific head/sector map. The controller's low-level format routine may also be gated on a valid defect table or geometry table burned into ROM.


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

Joined: October 10th, 2026, 7:38
Posts: 17
Location: Switzerland
rasz_pl wrote:
fzabkar wrote:
I missed posts, replied on vogons, gonna repeat here - do NOT try formatting IDE (even xt ide) disks with MFM formatting tools.


Well, as the drive is already toast a try was worth anyway. But now I'm going an alternative route and I have something cooking in the pan. I don't know if that's gonna be successful and there's a high probability it won't, but we'll see. More updates on this later.

I saw yesterday your post on Vogons, today I'll post some photos of the ST125N's circuit board. As I use a dumb phone and I don't have a smopho (smartphone), I made the previous photos with an old Microsoft Phone I had around, that's why they were so crappy. Today I'll use something better.

elizabethtaylor wrote:
Michele, the platter swap is impressively methodical, but I'd suspect the LLF trouble lies with the servo/index track rather than the donor surfaces. Stepper drives like the WDI-325 still depend on a fixed index pulse and the original sector geometry written at the factory. Since you moved platters between a 325 and a 387, the track-to-head alignment and the recorded index reference won't necessarily match the new stack


Well, of course that's the case, anything that's left on those platters is not actually usable by the WDI-325. And as the drive was already partially demagnetizing with age, a lof is for sure just garbled mess. That's why I want the drive to blindly treat these platters like blank one fitted during the production process.


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

Joined: October 29th, 2026, 13:04
Posts: 5
Location: NewYork
Michel, the transplanted platters raise the layout question you already flagged: servo and low-level format info differ between a 325 and 387 even if the coating looks identical, so the controller may not find valid track data and refuse to format. On stepper drives the LLF usually needs the right cylinder/head count and interleave set in the controller, plus a valid defect map. Does the PS/2 setup utility expose those parameters, or does it assume the original drive geometry? That would explain why it stops short. Keep the original platters labeled so you can backtrack.


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

Joined: October 10th, 2026, 7:38
Posts: 17
Location: Switzerland
hannahmiller wrote:
Does the PS/2 setup utility expose those parameters, or does it assume the original drive geometry?


It doesn't expose any parameter, but I don't know if it just assumes that the drive is a 20 MB 615/4/17 CHS or if it asks the integrated drive's controller for that. I think that it asks the controller, because for the PS/2-30 there are the options for 20 (WDI-325) or 30 (WD-336) megabytes hard drive. But it could well just ask the drive for its model and then select the appropriate geometry between the two variants. There is no information on how the Advanced Diagnostic utility works internally.

hannahmiller wrote:
That would explain why it stops short. Keep the original platters labeled so you can backtrack.


Of course the geometry is entirely inappropriate for the drive. But the original platters, as it can be seen in the photos, are in a totally rough and unusable state. The plastic powder chemically embedded itself to the platters' surface and it can't be removed. And rotating at high speed those rotten and contaminated platters under the heads would mean grinding them to death. I have no other option than transplanted platters here. By the way, in the meantime I demagnetized the "new" platters because I want the drive treating it like totally blank ones that still have to be initialized. Anything that was on those platters was useful anyway.

And in this regard, unless some other information about an hypotetical "factory mode", where the drive can initialize totally blank platters from scratch, would pop up, the only option I see here is to come up with a custom firmware that can be put in place of the original one to blindly low-level format the disk without any sanity check in place. In the last days, with the help of Google's AI (sorry folks, I don't know i8031 assembly so I had to rely on big brother's tools, even if I'm not actually fond of AI and the whole vibe coding thing) I, naively I admit, made the robots slopify me some assembly source code to put together a sort of "factory restore" firmware, of which I thoroughly outlined the specifications. I gave to the AI the hex dump of the original IBM's firmware to make it extract from the IBM's code all that's needed to handle all the hardware and the low-level format routine itself, which appears to be actually present into the original code, and to build over it the custom firmware. But of course, it doesn't yet work, not that I expected different results anyway. Today I spent all the afternoon at it but I got no results, mostly because of my lack of skills with 8031's assembly and in general low-level, close to the metal programming. That was the stuff "cooking in the pan" that I talked about in my last post but at this point I even couldn't had got the recipe itself right. I still have a lot of learn in this regard.

If you want I can share the code, my specifications and some other stuff that came out during the conversations with Terminator... ehmm I mean, Google's AI. Of course, for all of you that know 8031's assembly, don't expect good code here.


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

Joined: September 24th, 2021, 9:17
Posts: 8
Location: europe
elizabethtaylor wrote:
Stepper drives like the WDI-325 still depend on a fixed index pulse and the original sector geometry written at the factory

afaik in soft sectored early stepper drives index was generated by optical/hall sensor or motor driver
here for example chip doing it for Seagate 125 https://github.com/schlae/HardDriveInfo ... 647-502.md
and on a diagram https://github.com/schlae/HardDriveInfo ... _20629.pdf

elizabethtaylor wrote:
The controller's low-level format routine may also be gated on a valid defect table or geometry table burned into ROM.


afaik also too early for defect tables handled by disk

now index track is another matter and I agree disk fails to get ready because it most likely cant find its index track. Seagate uses special track -1 (or -2?) for this purpose, no idea how WD handled it.

mima85 wrote:
In the last days, with the help of Google's AI (sorry folks, I don't know i8031 assembly so I had to rely on big brother's tools, even if I'm not actually fond of AI and the whole vibe coding thing) I, naively I admit, made the robots slopify me some assembly source code to put together a sort of "factory restore" firmware, of which I thoroughly outlined the specifications. I gave to the AI the hex dump of the original IBM's firmware to make it extract from the IBM's code all that's needed to handle all the hardware and the low-level format routine itself, which appears to be actually present into the original code, and to build over it the custom firmware.


Google's toasters arent the best for this. I havent seen anyones RE success stories using google crap. Claude toaster on the other hand sometimes pulls rabbits out of its ass one-shotting exotic firmwares. What Im trying to say is you are going to need a bigger boat.

mima85 wrote:
If you want I can share the code, my specifications and some other stuff that came out during the conversations



I havent seen a firmware for an IDE drive so I dont know how it looks like internally and how much is handled by controller chip (chip directly connected to IDE port) and how much still goes thru micro. If its anything like old SCSI drives then micro is the brains of everything - selects heads, controls head assembly arm movement, sends commands to actual controller Asic, even controls rotation speed. Here micro is at least directly controlling head stepper.

For WD drive start with making robot produce annotated disassembly to the point it can name functions. Im you will need:

Trace which 8031 IO connect to two TEA3717 pins 7 8 9. Thats between 3 and 6 IO taken care of.
Trace which 8031 IO go to big IBM chip - this one incorporates

Capture all 8031 IOs, if you dont have 40 IO LA capable of storing couple seconds at >12mhz you will need to kludge = https://sigrok.org/wiki/Lcsoft_Mini_Board would be barely fast enough at 12MHz considering cycle times of 8031. Capture all 8031 IOs in groups of P0, P1, P2, P3. In 16 channel mode at least grabbing one of the ports + pin 9 reset (and trigger on that) / 16 wr / 17 rd / 29 psen + P0.0-P0-4 for syncing. Lets say 5 seconds from reset. AI will be able to cobble python script gluing all the captures into one correlated log.

give that to AI + as much pinout as you can gather. Dont mix two boards you have :) Pick just one and stick to it, AIs are stupid and easily confuse when given too much choice.

The questions that interest us most are
- How and when does it know its on track 0? waiting for some IO port or maybe reading something from controller? waiting for specific pattern decoded by ENDEC? this one is crucial and should be easy as its somewhere at the beginning of initialization. - - does it sync with Index pulses? Which IO it uses to do it? logic capture should show it as one of the pins will steadily pulse at ~50Hz.

Finally in separate session you can try https://github.com/yyzkevin/COMrade https://github.com/jdredd87/DOSBridge one of those to let Toaster control PS/2 with drive connected and ask it to determine whats the status of connected XT-IDE drive. Try it with Seagate first since its almost working. Ask it to low level format it too, knowing how AIs operate it will cobble together custom made programs to attempt this. It will find IO ports on its own, determine command structure etc.


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

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: Google [Bot] and 53 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