Page 1 of 1

Do you support CHS hard disks of 8.4GB or lower?

Posted: Tue Mar 20, 2007 6:37 pm
by ~
How many people has implemented support for old ATA hard disks addressed through CHS?

This question is because I have noticed that even Windows XP supports them and surely *N*X system as well.

Posted: Tue Mar 20, 2007 6:48 pm
by frank
In order to avoid adding any more complexity to my already messed up hard disk drivers, I only support drives that have lba addressing.

Posted: Tue Mar 20, 2007 10:18 pm
by Happy Egghead
Although my code is very 'skeletal' at the moment, I can't see myself supporting non-LBA hard disks either.

From what I can see, support shouldn't be too hard though (if the hardware still exists). Everything within a file system (even inside old MSDOS) uses linear addresses (sectors from 0 to X) and THEN translates it down. It's just a matter of converting the linear(LBA) address into something 'CHS'icky. From what I understand though, even if a CHS address is sent to a hard disk in the old pre-ATA format (all hard disks still support this?) the hard disk may still translate it to something else in hardware. Nobody in the 1990's could decide on correct translation via BIOS or hardware so performance went to hell for the sake of compatibility.

I'm so grateful the "powers-that-be" adapted the SCSI standard of doing things. (ATA == SCSI packets over IDE IIRC).

As a last thought - although I can see a Unix system fitting on a small disk (and doing something productive), who on earth would be mad enough to run Windows XP on such a disk??? XP might support it, but then Windows XP still supports the original VGA card in addition to a CGA Text BSOD.

Posted: Wed Mar 21, 2007 2:48 am
by Combuster
well, floppy disks are accessed as CHS, why not allow the same for harddisks? It'll probably be in my kernel once i get the time for actually writing harddisk drivers (Probably also because my test beds are quite old).
ATA == SCSI packets over IDE IIRC.
That's ATAPI

Posted: Wed Mar 21, 2007 4:10 am
by Happy Egghead
Ah, ok. My mother used to say "learn something new every day." I was thinking that someone had finally settled on one universal standard for storage access. So ATA's is for hard disks and ATAPI's for CD's/etc.

Unbelieveably I've just googled for the specifications and apparently there's now SATA and SATAPI too!!! This was the perfect opportunity replace or consolidate the standards.
Perhaps why not just adopt a Universal Serial SCSI connection?

So in the interests of backwards compatibility I would like to propose SCHS - CHS over a serial connection designed for hard disks less than 8GB :D

Posted: Wed Mar 21, 2007 5:35 pm
by Tyler
Happy Egghead wrote:Unbelieveably I've just googled for the specifications and apparently there's now SATA and SATAPI too!!! This was the perfect opportunity replace or consolidate the standards.
hahahahahahahahahahahahahahahahahahahahahahahahaha...

So young, so naive this one is, he sees hope in people, foolish young padowan are you!

On a slightly more literate note, i doubt there will ever be a Universal Standard for Computer Systems. People care more for business than the advancement of out greatest achievment. It saddens me that this is the case, but making things easyier is not good business. The best tactic is to make a totally incompatable new standard that is based on the old one. Therefore creating problems but pretedning to maintain backward compatability.

Posted: Wed Mar 21, 2007 5:52 pm
by Happy Egghead
Thankyou for the compliment! Me! Young!
hahahahahahahahahahahahahahahahahahahahahahahahaha...

Posted: Thu Mar 22, 2007 8:59 pm
by mystran
Well in IT sense of being young, one can physically be 82 and still a total newbie, or 20 and a guru (if you started as a kid, that's around the time, with average nerd's intelligence (which I believe need not really be very high, as one will have to learn to improve it anyway) and living on the keyboard any time you possibly can without totally losing all contact with rest of the world will have accumulated enough knowledge to work on more or less anything IT, though some fields will require learning more math or domain specific stuff).

Ofcourse for the rest of us it takes a bit longer, since we waste some of the time gaming and surfing totally irrelevant parts of the web, and have other hobbies to slow us down.

Ofcourse above reference points to the fact that you might not have been around long enough, or read enough about stuff to realize, that in IT we don't standardize, unless the standard can be made complicated enough that lots of money can be made from first implementing and then testing for compliance even the simple of implementations of said standard.

"Standard" in the world of IT is pretty much a synonym for "if you thought of actually getting something done, RUN!"

Posted: Fri Mar 23, 2007 2:41 am
by Happy Egghead
Well I'm not into this OS development for any professional reasons etc. I'd just like to find out what makes this flashy whirry box thingy tick! I'm not a newbie by any definition but at the same time I can leave everything off for a week or so and not even miss it. I write letters to myself in the code to tell me what I was doing. Found one from 5 years previous once. I can tell you it's exciting to get a letter to yourself even if it didn't come in the mail.

Getting back to the question '~' posted - while I'm aware of something like CHS (due to trying to get my floppy driver working), I doubt I'd ever come across a 'pure' CHS hard disk. Therefore I'll put forward that a more generalised question is would your code support something just because it can or should the code concentrate from a base hardware reference.
LBA ATA/ATAPI only, VGA (text or graphics) minimum, 1.44Mbyte floppies but no 1.2 Mbyte floppies etc

I like standards - but only the one's I see can provide some sort of benefit, not technology for the sake of technology.
Example in point - Windows XP has a standard driver for an ISA ATI EGA Wonder card. 640x480x16 colours. It CAN be used, but SHOULD it even be in the standard driver database?
The same train of thought could be applied to CHS hard disks, EISA, MCA, CGA, Hercules, Arcnet, IPX/SPX, Zip drives, VCD's and Gravis Ultrasound cards. They're all great but should they continue to be supported because they're well documented?

At the moment I aim for nothing more than support for the ISA standard devices ATA LBA hard disk support. Once it 'works' (ie it doesn't crash on a a regular basis) I'll go after the exotic stuff. Maybe in another few months, years...... I hope chase has a reeeeaaaaly long lease on the server!

Posted: Fri Mar 23, 2007 4:23 am
by Combuster
Happy Egghead wrote:The same train of thought could be applied to CHS hard disks, EISA, MCA, CGA, Hercules, Arcnet, IPX/SPX, Zip drives, VCD's and Gravis Ultrasound cards. They're all great but should they continue to be supported because they're well documented?
More because some of them account for a large share of (especially older) hardware. I have several EISA machines, and the GUS was once second only to the soundblaster, so supporting those would provide you with a larger volume of supported devices. The fact that they are documented makes things even easier.
Essentially, for several (not all) of these ratio of the time spent implementing versus the resulting support is in comparison quite high, making them economically interesting.

Posted: Fri Mar 23, 2007 6:44 pm
by Happy Egghead
Agreed, the fun is working out which ones to support (eventually).
Perhaps Microsoft can't bear to see all that driver code gone to waste?
Another thought, the well documented hardware probably got more support because it was well documented.

If only NVIDIA and ATI learned from history.

Ooops, just a second of faith in people again.
Bad habits die hard.