park.com(exe) для MS DOS
Первая из них 1 в 1 похожа на ДВКашную из ПО ФОДОС ! ;-)
park.com(exe) для MS DOS
Первая из них 1 в 1 похожа на ДВКашную из ПО ФОДОС ! ;-)
>поэтому специально пруфов изыскивать не буду.
ч.т.д.
Особенно доставило Ваше "малозначащих мелочах в вопросах давным-давно покойного стандарта" ;-)
Да тут весь форум - полнейшая малозначащая ерунда по сравнению с мировой революцией ;-)
Я конечно понимаю, что это форум о советском ДВК, но разработчики КНЖМД просто использовали уже качественно скопированный контроллер DEC Professional 350, и ограничение пришло оттудаМожно для полноты картины поискать, что делали авторы оригинала для парковки дисков...
И кстати, родной драйвер DW (с исходником, кстати) по идее должен работать с нашим клоном, но нет...
Изваял. Критика приветствуется.
.TITLE PARK2016.MAC
.MCALL .PRINT, .EXIT ;используемые вызовы библиотеки
STARTF: CMP 174000, #401 ;сравнить содержимое регистра идентификации 174000 с кодом 401(восьмеричное)
BNE CNTRLRNOTFOUND ;контроллер не обнаружен, выходим
CHECK1: BIT #100000, 174020 ;проверка занятости
BEQ CHECK1 ;занят, ждем
BIS #8, 174020 ;начальная установка с выводом головок на нулевой трек
CHECK2: BIT #100000, 174020
BEQ CHECK2 ;занят, ждем
CHECK3: BIT #1, 174020
BNE CHECK3 ;ждем, пока операция не будет завершена
MOV #LANDZONE, 174012 ;поместить в регистр адреса цилиндра 174012 номер цилиндра для парковки
MOV #7, 174006 ;сектор 7 (любой)
MOV #0, 174014 ;поверхность 0 (любая)
MOVB #40, 174016 ;команда чтения сектора, команды пишутся в младший байт РАЦ
.PRINT #SHUTDOWNMSG
.EXIT
CNTRLRNOTFOUND:
.PRINT #NOTFOUNDMSG
.EXIT
NOTFOUNDMSG: .ASCIZ /MFM CONTROLLER NOT FOUND/
SHUTDOWNMSG: .ASCIZ /TURN THE POWER OFF/
LANDZONE: .WORD 1230 ;664 цилиндр у моего HDD парковочный
.END STARTF
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Лучше @#174000 - так будет явное указание данного адреса, а не смещения до него (а в старых компиляторах и вовсе не скомпилится такой вариант).
После 8 нужна точка.
Команда записывает адрес переменной LANDZONE (а не значение) - так и планировалось?
CLR @#174014
Ну и названия меток лучше укладывать в 6 символов чтобы потом не гадать где косяк вылез из-за одинаковых названий![]()
PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
PMI: KDJ11-BF, MSV11-JE
VT220, CM7209
Нет, вы правы насчет точки и значения - это описки. Сляпал на скорую руку))), дебага пока не было.
PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
PMI: KDJ11-BF, MSV11-JE
VT220, CM7209
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)