хм...наверно исходниками никто не поделится, да?!(((((((((
Вид для печати
хм...наверно исходниками никто не поделится, да?!(((((((((
ну кто их производителей знает
Добавлено через 1 минуту
пойдет? http://opensourcezx.untergrund.net/files/wdc1/wdc1.zip
ток там в архиве нет сырцов...там компилированные драва)))
Хотя нет..нашол..не в тот архив залез))
сматрю в сорцы..и в те что мылом пришли тоже. у драйвера для профи есть процедурка проверки...не могу понять для чего...хм...в прогах типа formathd или assign нету ссылок на эту процедуру. странна. с какой целью воткнули её?!
по сорцам для немо подобных процедур нет. даже регистр ошибок не используют...странна..мож не там ищу?! регитр ошибок вернул значение 255 если нет винта. если есть, то знаначение "1"...т.е. всё гут...
---
так...я толи всё вапще забыл, толи просто туплю...
для того чтобы работать с винтом нам нада его найти, и вапще, если ли контроллер хдд?!
в сорце jason.asm вижу такую функцию:
тут я вижу наверно ошибку, т.к. после "INIT", в "А" возвращается число #40. точнее говоря, если контроллер есть и если подключен винт.Код:INIT IN A,(#F0) ;читаем Status Register
CP #50 ;проверка на DSC=DRDY=1 то есть накопитель
;готов и головки в установленном положении
RET Z ;если так, то выход
но. если нет винта или нет самого контроллера, то поидее в регистре "А" получается число #FF. в этом случае флаг нуля не включён, RET Z не выполняется и функция продолжается далее и вероятнее всего должна быть ошибка....где я что упустил?
трассирую в СТС6.2.. пишу кусок кода который я привёл...в регистре А если нет винта и/или контроллера, число #FF. если винт есть, то #40. флаг Z включён если делать CP #40...тогда правильно...
кароче немогу понять....просветите тёмного человека плиз!
Ну там же коммент прямо говорит: DSC=DRDY=1, т.е. и DSC=1, и DRDY=1, т.е. точно не #40, т.к. у #40 только один бит = 1.
Вот же блин, мои сырцы от винта находятся за 700 верст от меня.
Поищи доки по работе с CDROM, вроде бы VEGA писал, там все подробно расписано. А я дома попробую по дискеткам пройтись, может чего и есть.
хм...понимаеш, ещё фишка в том, что я шарю под эмулем.
если глянуть в сорцы эмуля, то:
Цитата:
DSC=DRDY=1, т.е. и DSC=1, и DRDY=1, т.е. точно не #40
вот... проверка в сорцах идёт через CP #50...хм..Код:STATUS_DRDY = 0x40
чёто упускаю ёпт...
из сорца драйвера:
вот...т.е. я так понимаю, что в результате проверки должен включиться флаг нуля. но он не включается в данном конкретном случае. могет на реале и проканывает так, но в эмуле нет. под эмулем именно CP #40 даёт положительный резалт (?!)...проверил ещё раз в СТСе...да..при подрубленном контроллере немо и винте, в регистр А складывается #40... делаем CP #40, включается флаг Z, RET Z.Код:INIT IN A,(#F0) ;читаем Status Register
CP #50 ;проверка на DSC=DRDY=1 то есть накопитель
;готов
под анрылом данная функция не работает! у меня во всяком случае. эмулируемый клон - Профи.Код:RET Z ;если так, то выход