• Please review our updated Terms and Rules here

Getting a Philips P3105 to recognize a HDD?

Scali

Veteran Member
Joined
Dec 13, 2014
Messages
2,024
Location
The Netherlands
Since my Commodore PC20-III is broken, I wanted to mount its HDD in my Philips P3105 instead.
The P3105 has an XT-IDE interface on board, just like the PC20-III.
The HDD in question is a WD93028-X.
It was formatted in the PC20-III, MS-DOS 5 installed, and it used to boot just fine.

But I can't seem to get it working in the P3105. There is a dipswitch to enable or disable the onboard HDD controller, but that doesn't seem to have any effect.
The PC cannot boot from the drive, if I boot from a floppy, there is no drive C: available.
FDISK also reports no disks, and the included WDHDINIT program also claims 'drive not ready' or something to that effect.
I even tried going into debug and 'g=c800:5', but that just hung the PC.

So, does anyone have any idea how I can get a HDD to work in this machine?

Edit: I notice there is a battery holder on the motherboard, but there is no battery in there (what is it for anyway, aside from the clock/calendar?).
Could that have anything to do with this? Also, any idea what battery should go in there?
 
Last edited:
How are those three links helpful?

Scali how is the Commodore PC20-III broken? Could be possible whatever broke your system took out the hdd as well.
 
Last edited:
Scali how is the Commodore PC20-III broken? Could be possible whatever broke your system took out the hdd as well.

Well, I doubt it, because I already tried it before, when the HDD was certainly still okay, and it just didn't detect any HDD.
I put it back in the PC20-III then, and it booted up just fine again, and I've used it for some time after that.
The HDD still spins up, so I would think that it should at least detect the HDD.
 
It might help if someone could tell me how XT-IDE drives work. I know that ATs have the configuration for the drive in CMOS (either a standard type, or a 'user' type, where you specify the number of heads, cylinders etc manually). But how does an XT know that there is a drive installed, and what kind of configuration it is?
 
Does it have the IDE ROM installed? I know on the CompuAdd 810, it was advertised as having onboard IDE-XT, but if you didn't order it with a hard drive originally, it didn't come with the ROM for it installed.

Here's a photo of the CompuAdd's motherboard (thanks to Formulator). The Award system ROM is in the upper left, while the Western Digital IDE-XT ROM is in the lower right:

attachment.php
 
Does it have the IDE ROM installed?

Ah, you might be on to something here.
I never thought of the controller needing a separate ROM, since the only machines with XT-IDE I've ever used are Commodore PC10/20-III models, and they come with the ROM (I think it's integrated in their BIOS).
I'll have to see if there is an empty ROM socket on the motherboard somewhere, it might explain it.
 
Have you tried the DEBUG routine, like with the MFM/RLL controllers? You're trying to configure and XTA drive right? I'm a little tired, so I may have the wrong end of the stick.
 
Have you tried the DEBUG routine, like with the MFM/RLL controllers? You're trying to configure and XTA drive right? I'm a little tired, so I may have the wrong end of the stick.

Yea, I tried that... debug and then "g=c800:5"... but nothing happened, machine just stopped responding.
 
Do you know if it actually has a hard drive ROM at that location? MSD (Microsoft Diagnostics, from MS-DOS 6.x) has a ROM browser which lets you see which address, if any, the hard drive ROM is located at. It might be set to C000, D800, E800, or some other location.
 
Yea, I tried that... debug and then "g=c800:5"... but nothing happened, machine just stopped responding.
Not that this method will do anything for the IDE drive as it's specifically for MFM and RLL drives.

But if you insist... g=c800:5 is for WD drives. Other drives have different routines...

https://kb.iu.edu/d/aaoa

IMO, you're really barking up the wrong tree. :)
 
Not that this method will do anything for the IDE drive as it's specifically for MFM and RLL drives.

I disagree.
I installed an ST351-A/X in my Commodore PC10-III, and the manual specifically said to initialize it that way via debug:
http://www.zimmers.net/anonftp/pub/cbm-pc/documents/PC-8088-Information.txt
From MS-DOS, run DEBUG.EXE. At the - prompt type G=FA00:5 and press enter. You should now see the Western Digital IDE Superbios screen, which you can use to configure the hard drive. Press Enter to select the first hard drive, enter again to accept the interleave value, then choose if you will manually enter the drive parameters or not by select Y or N for dynamically configuring. Some drives will need manual values entered, while others will be automatically detected. If you are unsure, try selecting N the first time and allowing it to automatically set up the drive. At this point the program will ask you to press Y to begin format. If the drive is working and properly configured, the drive should now be configured and low level formatted.

But if you insist... g=c800:5 is for WD drives. Other drives have different routines...

It does have a WD controller, and it is a WD drive.
The floppy also comes with WDHDINIT.EXE

Perhaps I just need to find the right address. I can try MSD, as suggested.

IMO, you're really barking up the wrong tree. :)

Clearly my question is what the right tree is. I'm just trying whatever I can find, because I have no proper documentation on this.
 
...Perhaps I just need to find the right address. I can try MSD, as suggested.
Don't know if this will help but it might be worth trying Mike Brutman's 'PCJRCART' utility to dump the system rom and any extension roms it finds, If it finds any it writes them using the address as the name ie: C800.bin etc. It's not only for PCJR's i have used it on PC's with success before. Download pcjrcart.zip from here
 
I've been trying to get Linux to use the basic hd.c driver today because I'm using an old ISA controller. It's been quite a history lesson, with the various new Linux IDE subsystems. It's been like pealing an onion to get back to basics. Anyway I came across the xd.c driver for XTA controllers. Source in drivers/block/xd.c. It may shed some light on how the drive parameters are stored, or where to probe. You'll be able to make sense of it better than I can.
 
Back
Top