• Please review our updated Terms and Rules here

Get a PC (5150) to boot from a hard drive?

Davong Systems hard drive

Davong Systems hard drive

Someone is asking for trouble by trying to run that full-height 5¼" hard drive off of that original black 63.5-watt power supply! :eek: Way back in the '80s when people first tried adding hard drives to their IBM PCs, a lot of power supplies were burned out that way. 63.5W just isn't enough juice to run a full-height hard drive and a full complement of expansion boards. It's best to upgrade to a 130W XT power supply, or better yet, an aftermarket 200W power supply.
The story accompanying the picture is at http://www.selectric.org/old5150/
In the story is, "It came with a Davong Systems hard drive, with an external power supply."
 
Gregert,

Miniscribe drive - can read/write files but no boot

A possibility. As you might be aware, these old drives require 3 distinct operations to become usable:

Step 1 - Low level format
Step 2 - Partition (e.g. use of FDISK)
Step 3 - High level format (e.g. 'format c: /s')

Regarding the partitioning operation. One or multiple partitions can be created. The partition that is to be booted from is made the 'active' partition, even if there is only one partition. Do you know if the partition that was created was marked as 'active'?
 
Excellent point about setting the partition active! I'd forgotten that earlier versions of DOS FDISK aren't as strident in their warnings about that little thing.

I have to admit that I've been caught by that one more than once!
 
Success! Also, sorry for the delay. Ofter a week off my sleep schedule is 6 hours forward, so I've been sleeping little in the night and much in the afternoons. But I finally got my father to do what he said he'd do:

After "FORMAT C: /S/V" and entering a volume label (which to my chagrin didn't relate to anything, just something he picked) followed by "SYS C:" the PC boots from the hard drive with no problem!

I think it odd. The only difference is that instead of no label, the hard drive now has a label of "DOS1," or something similar, which he entered when he didn't know what he ought to enter. Strange that a volume label should be required for it to boot from the hard drive, without that volume label needing to be something specific.

I couldn't get my father to open it back up and get the model number from the controller though. That will have to wait, hopefully just until this time tomorrow. I'll get a some pictures this weekend, just because.

I want to thank everyone for their help, and for the existence of this site. Most of the (useful and correct) information I found to get it to where I did, I found here in old threads.

Edit: Also, though I know DOS itself has no support for the cassette drive, is the cassette drive accessible to the operating system, or only to BASIC in ROM? I'm thinking there must be some program for DOS, or a different OS, (Minix maybe?) that would make it useful. I've been thinking about Minix as an alternative to DOS, mainly because I prefer UNIX-like operating systems. (Mostly because I regret having missed that period in computer history, but I digress) I have no idea how one would go about installing Minix. Of note, apparently the new version, 3.x, can't run on an 8088/8086/etc.
 
Last edited:
Edit: Also, though I know DOS itself has no support for the cassette drive, is the cassette drive accessible to the operating system, or only to BASIC in ROM?
IBM BASIC (or BASICA) has the ability to load and save files to the cassette, even when DOS is loaded. Use CAS1: in place of the drive letter. For example: SAVE "CAS1:pROG.BAS"

When loading BASIC programs from cassette, you don't need to specify the file name. LOAD "CAS1:" will load the first program it finds on the cassette. When you do specify a file name, LOAD will skip over other programs on the tape until it finds the one you want (which can take quite a while on a long tape!).
 
Now, to find that diagram I saw at lunch. And a cassette recorder. I remember from when I was about seven there was one in the house...

But really I was thinking not about just BASIC programs, but files in general. The extra storage, cheap and easy to find, would be a godsend.
 
For someone who missed that entire era, it's fun! Like a painter making their own paint, boiling their own ink from walnuts. Except instead of making something, you just wait. Er...
 
For someone who missed that entire era, it's fun! Like a painter making their own paint, boiling their own ink from walnuts. Except instead of making something, you just wait. Er...

So how come nobody seems to be nostalgic for the days before the modern high-speed dental drills? You could satisfy your longing for the good old days by doing your own root canals with an ice pick...
 
I don't think a person can really feel nostalgic about experiencing pain. But I'm sure somewhere there's an equivalent to this forum, except it's dentists talking about using tools from the 1800's.

The hard drive controller! "IBM 1806101," which I believe was the standard controller that came in the XT's. Fab 104667 rev. B. It's dated July, 1985. That's really all there is to distinguish it. There are no switch banks or jumpers, etc. There is a XEBEC chip on the card. Presumably these were manufactured by Xebec for IBM?

There's more elegant method [to low-level format an IBM XT 5160 20 MB harddrive with an original XEBEC hard drive controller] by using INT 13 function 7:

Code:
;---INT 13-----------------------------
; INPUT:
;	AH = HARD DISK COMMAND
;
;	AH = 00	RESET DISK (DL=80H,81H)/DISKETTE
;	AH = 01 READ THE STATUS OF THE LAST DISK OPERATION INTO AL
;		NOTE: DL < 80H - DISKETTE
;		      DL > 80H - DISK
;	AH = 02 READ THE DESIRED SECTORS INTO MEMORY
;	AH = 03 WRITE THE DESIRED SECTORS FROM MEMORY
;	AH = 04 VERIFY THE DESIRED SECTORS
;	AH = 05 FORMAT THE DESIRED TRACK
;	AH = 06 FORMAT THE DESIRED BAD TRACK
;	AH = 07 FORMAT THE DRIVE STARTING AT THE DESIRED TRACK
;	AH = 08 RETURN THE CURRENT DRIVE PARAMETERS
;	AH = 09 INITIALIZE DRIVE PAIR CHARACTERISTICS
;		INT 41 POINTS TO DATA BLOCK
;	AH = 0A READ LONG
;	AH = 0B WRITE LONG
;		READ AND WRITE LONG ENCOMPASS 512+4 BYTES ECC
;	AH = 0C SEEK TO DESIRED TRACK
;	AH = 0D ALTERNATE DISK RESET (SEE DL)
;	AH = 0E READ SECTOR BUFFER
;	AH = 0F WRITE SECTOR BUFFER
;	AH = 10 TEST DRIVE READY
;	AH = 11 RECALIBRATE
;	AH = 12 CONTROLLER RAM DIAGNOSTIC
;	AH = 13 DRIVE DIAGNOSTIC
;	AH = 14 CONTROLLER INTERNAL DIAGNOSTIC
;
; REGISTERS USED FOR HARD DISK OPERATIONS
;	AL - NUMBER OF SECTORS (MAX RANGE 1-80H,
;				FOR LONG 1-79H)
;	   - INTERLEAVE VALUE FOR FORMAT COMMANDS
;	CL - SECTOR NUMBER (1-17, NOT VALUE CHECKED)
;	     HIGH 2 BITS OF CYLINDER NUMBER ARE PLACED
;	     IN THE HIGH 2 BITS OF THE CL REGISTER
;	CH - CYLINDER NUMBER (0-1023, NOT VALUE CHECKED)
;	DL - DRIVE NUMBER (80H-81H FOR DISK, VALUE CHECKED)
;	DH - HEAD NUMBER (0-7 ALLOWED, NOT VALUE CHECKED)
;	ES:BX - ADDRESS OF BUFFER FOR READS AND WRITES,
;		(NOT REQUIRED FOR VERIFY)
;
; OUTPUT:
;	AH = STATUS OF CURRENT OPERATION
;	CY = 0 SUCCESSFUL OPERATION (AH=0 ON RETURN)
;	CY = 1 FAILED OPERATION (AH HAS ERROR CODE)
;
;   IF DRIVE PARAMETERS WERE REQUESTED
;	CL = MAX USEABLE VALUE FOR SECTOR NUMBER AND
;		CYLINDER NUMBER HIGH BITS
;	CH = MAX USEABLE VALUE FOR CYLINDER NUMBER
;	DL = NUMBER OF CONSECUTIVE ACKNOWLEDGING DRIVES
;		ATTACHED (0-2)
;	DH = MAX USEABLE VALUE FOR HEAD NUMBER
Bold added for clarification

I found the above in a different thread on this forum from a few years ago, but I, predictably, have no idea what to do with it. Someone a few posts above has a long set of DEBUG instructions which I'm hesitant to use without understanding them.
 
Well, I'm looking at IBM Publication 6361503 "IBM Fixed Disk Adapter".

It's the Xebec one and, while the ref doesn't talk about disk type selection, it's in the BIOS--and there are apparently 4 pads near 74LS244 IC 10F, pins 2 4 6 8, tied to a 22K DIP, position 8H, pins 12, 13, 14, 15. Look around for some pads or traces there. 2 pads select the drive type for drive 0; the other 2 for drive 1.

Look like the one you have?
 
parameters

parameters

Anything with a ; in front of it is a comment. Your snippet is basically just the parameters used in calling the interrupt. As such, it does nothing, you'd need to call INT 13h subfunction 7h with sensible parameters. You can also use it to format the entire drive, instead of just the drive from somewhere other than the beginning, but it's not really doing anything different then what DOS is doing when it formats the hard drive( or a partition on it).
patscc
 
What I meant was, I don't know how to call INT13h sub-function 7h, because I don't know the first thing about any of it.

Chuck(G): From what I see in several pictures I've found of the card, this looks right. But I can't come to a conclusion until I actually have the 5150 here. So Saturday afternoon. The wait is frustrating.

But then, my main concern is already solved: Boot from the hard drive. I wonder if there's any way to salvage the original hard drive. It powers up still, and during post the light comes on for a moment, presumable to do seek/read/etc tests. (I'm guessing here) Maybe with a little work... The worst that could happen would be having it remain non-functional.
 
Well Druid, I'm not about to send it off to a lab with a clean room and a team of engineers. I wouldn't even have the money to ship it.

@MikeS: I see you're from Toronto: Belleville, about 1.5hours from union station by train. Why do you ask? (The computer is actually in Toronto until 10:00am tomorrow)
 
Ack! Sorry I've not replied. I won't make excuses (bu I could if you like ;)

So the hard drive controller is what it is. I found a thread on this forum in which someone else with the same controller was similarly unable to change any settings etc. At this point I can't remember exactly, but the card is hard wired (not literally I suppose) for 306 (or 305, I forget which) cylinders only, MFM, etc. But the hard drive is working fine the way it is (albeit at one third of it's actual capacity) so I don't care. Though I may have a source for another controller.

But I have run aground again! This time it's because I never used or learnt DOS. (My first computer ran windows 98. I am that young.) On Saturday a trip to the thrift store resulted in several new possessions: A copy of "Lotus 1-2-3 for home" release 1.0, still in shrink wrap, circa 1992. I've found little information about "Lotus 1-2-3 for home" but it's still a nice thing to have. "Microsoft MS-DOS 5.0 upgrade," again still in shrink wrap and therefore unopened.

And, for the moment more importantly, a NIC: D-Link DE-220 series (Specifically 220PT). 8 or 16 bit ISA, detected by the card claims the box. It boasts PnP compatibility for easy install. This would be grand if I were running windows 95+. Instead, trying to get it to run in DOS, I am at a loss. I have garnered that I need to find a 'packet driver' and have it run in the AUTOEXEC.BAT file. That box has a list of...

"Drivers Supported:
Netware v3lx & v4lx ODI client
Microsoft LAN Manager
IBM LAN Server
IBM PC LAN Support Program
3Com 3+ Open Share
DEC PathWorks
Banyan VINES
WIN/TCP PathWay Access for DOS
FTP PC/TCP
Sun PC-NFS
NDIS Driver
Packet Driver
Windows 9x
Windows for Workgroups
Windows NT
SCO UNIX 3.2.4"

Now I assume "Packet Driver" is the article of interest, but this isn't enough information to go on, at least not for someone with barely any knowledge of DOS.

As far as getting files onto the 5150, persistence (read: repetition) with a 5.25" formatted in the 5150 and then written to from a 1.2MB drive eventually works. Although it's no fun.
 
Back
Top