>если это hda(0x80) чего? >когда она одна, а когда их две? зависит от типа дискеты и дисковода. Скорей всего все существующие ныне компы поддерживают две головки на дискете. Кстати, видел картинку где-то, там нарисовано две головки- одна с одной стороны дискеты, другая с другой. Это неверно (5" точно, 3.5" не помню, но даю 90%). Просто дорожки одной головки чередуются друг через друга с дорожками другой головки и расположены они на одной стороне дискеты. На 5" дискете например можно прорезать отверстие сбоку (симметрично существующему) и работать на двух сторонах дискеты, т.е. удвоить емкость (только доставать надо и переворачивать). У жесткого и у дисковода можно узнать, сколько он имеет головок; для дискеты надо еще проверить, может ли она работать с этим кол-вом головок в этом дисководе.
yureckor А такие аббревиатуры, как SSSD или DSDD ничего не говорят? ;о) SSSD = Single Side Single Density DSDD = Double Side Double Density Но это практиковалось только с 8" дискетами и первыми 5". В них действительно можно было прорезать дополнительное индикаторное отверстие и использовать одностороннюю дискету с двух сторон (если, конечно, покрытие было...). У "двухсторонних" дискет это отверстие было размещено немного иначе, чем у "односторонних", поэтому "двухсторонний" дисковод мог распознать, какой тип дискеты в него засунули, а "односторонний" дисковот вообще не видел двухсторонних. Затем практически все дисководы стали "двухсторонними", и, соответственно, "двухголовыми" :о). А вот относительно того, что - никогда не слышал. Если дашь ссылку, с интересом почитаю.
вот фрагмент кода исходника Вычисляем какую головку использовать shr di, 1 setc dh mov cx, di xchg cl, ch >как определить конкретную головку у hda? как узнать сколько существует головок у hda
andruxa В давние времена, еще лет 10-15 назад. Были винчестиры меньше 528МБ. В них использовалось такая вот адресация: Головки, Сектора, Цилиндры. Но вот терас появились винчестеры большего объема. А производители биуса просчитались в распределенние регистров для задания Головок, Секторов, Цилиндров, им пришлось делать преоброзование. Сначало в Линейный адресс из своего формата и обратно только уже в формат который принят у IDE интерфейса. Происходило перерапределение Головок, Секторов, Цилиндров. Это дало возможность роботать уже с 8ГБ винчестерами. Но и этого хватило не надолго. Дальше деваться было некуда. Решени было перейти на Линейную адресацию 32Бита(Из них 2 зарезервированны) 120ГБ. Теперь уже пришел век Линейной адресации которая использует 64Бита.
andruxa "hda" = жесткий диск? У INT13 есть специальная подфункция для определения параметров дисководов (и жестких дисков тоже): Int 13/AH=08h - DISK - GET DRIVE PARAMETERS (PC,XT286,CONV,PS,ESDI,SCSI) Вот ее описание в Interrupt List by Ralf Brown http://www.ctyme.com/intr/rb-0621.htm (Вот только как ведет себя эта подфункция с современными дисками большой емкости, не знаю.)
вот список функций биос, сам сейчас делаю нестандартное чтение/запись с дискетой. 1) _1884449140__Bios1.rar