Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Бывший СССР » Концепт 1801ВМ1 |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... .. 10 11 12 13 14 * 15 | Печать |
Anonymous
Advanced Member
Откуда: Москва(Россия) Всего сообщений: 2537 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 22 нояб. 2011 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 18 января 2018 1:02 Сообщение отредактировано: 18 января 2018 1:04
А как вы без .forkа-то в прерывании работаете? Понижение приоритета, чтоб всё остальное не стояло - первоочередная задача. И нельзя слишком много команд до форка использовать, т.к. через несколько из них система отберёт всё равно управление (через сколько - не помню) и будет аварийный трап тоже. Ещё есть .synch и .inten, для форка можно все регистры использовать, для синча - только $0 и $1, для интена - $4 и $5. SJ использовать - дурной тон, там и криво обрабатываются приоритеты, и reset оно выдаёт в случайное для устройства время. Например, многие устройства с интеллектуальными контроллерами просто под sj не работают, т.к. после аппаратного сброса теряется вся последовательность инициализации устройства. p.s. начиная с версии 5.6 sj монитор упразднили по этой причине, его больше нет в составе системы. |
Mixa
Member
Откуда: Москва Всего сообщений: 170 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 авг. 2009 |
Anonymous написал: Мне он пока не совсем понятен. Не все сразу Сейчас делаю, чтобы хоть как-то заработало, чтоб нащупать правильную линию. В обработчиках прерывания я не задерживаюсь, они короткие, без циклов, порядка двух десятков команд по пути исполнения. А как вы без .forkа-то в прерывании работаете? Самое долгое в драйвере - это вычисление дорожка/голова/сектор, но это не в прерывании. И циклов можно было бы избежать вовсе (процедура деления - не в счет), если бы не задержка в установке бита DRQ в регистре 1F7 после выдачи команды записи секторов. Вынужден ждать в цикле, когда этот бит взведется. Где-то с десяток оборотов нужно ждать. Вот думаю, по превышении числа циклов ожидания ошибку выдавать. Вообще, сейчас успешное завершение операции завязано на то, что и ATA, и DMA в любом случае выдадут прерывание, иначе процесс остановится на стадии ожидания прерывания. Не знаю, бывает ли такое, когда по протоколу ATA обязан выдать прерывание, но сбоит и не выдает. Вчера прерывания сделал только на регистрах R4 и R5, трапы прекратились, а диск заработал. |
Anonymous
Advanced Member
Откуда: Москва(Россия) Всего сообщений: 2537 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 22 нояб. 2011 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 18 января 2018 19:46 Сообщение отредактировано: 18 января 2018 19:49 Там их меньше 8 должно быть перед форком. они короткие, без циклов, порядка двух десятков команд по пути исполнения. Так для этого таймерные запросы есть для драйверов... Вынужден ждать в цикле, когда этот бит взведется. |
Mixa
Member
Откуда: Москва Всего сообщений: 170 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 авг. 2009 |
Ффухх, в первом приближении заработало. Во время испытаний начальной загрузки у ST-157A вышла из строя микросхема управления шаговым двигателем перемещения головок. Случайное совпадение? А вообще, в аппаратном загрузчике нужно было запретить винчестеру ATA выдавать свой INT14. (Все-таки регистр 3F6 полезен). Вторичный загрузчик, работая с приоритетом процессора 0, вылетал в трап по вектору ATA по этой причине. Пришлось на вектор воткнуть заглушку в виде RTI. И непонятно, зачем нужен записываемый разряд INIT в регистре управления контроллером прерываний 588ВН1, если он не очищает текущие запросы прерываний. Было так: при работе аппаратного загрузчика проскакивал импульс INT14, ВН1 это запрос запоминал, выставлял постоянный VIRQ, который воспринимался процессором при смене его приоритета с 7 на 0. И никакое программирование ВН1 этот запрос не убирало, пришлось втыкать заглушку. В общем, этот INIT какой-то бесполезный. Что там в Минске про него думали, покрыто тайной. P.S. Ну какой же все-таки медленный этот HX0: даже на скорости 19200. Но польза его неоценима, это да. Единственная связь с внешним миром. Дорога жизни. |
Anonymous
Advanced Member
Откуда: Москва(Россия) Всего сообщений: 2537 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 22 нояб. 2011 |
У меня сделан запрос прерывания уровнем, а не фронтом, если диск снял запрос - контроллер его уже не отрабатывает. Но вообще странно, прерывания у диска после аппаратного сброса должны автоматом запрещаться, пока в регистре принудительно не разрешишь. |
Mixa
Member
Откуда: Москва Всего сообщений: 170 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 авг. 2009 |
Там уровень VIRQ уже от 588ВН1 идет, он в любом своем состоянии, даже замаскированном, реагирует на фронт INT14 на входе и запоминает запрос так, что его можно снять только удовлетворением этого запроса. То есть, маску у микросхемы ВН1 снимаешь, и может быть сюрприз. А у дисков ресет сбрасывает текущий запрос и очищает маску тоже. Если будет новая редакция ПЗУшки пульта и загрузчика - там учту. Сейчас учитываю в первичном загрузчике. Запускаю всякие тесты. Работает, однако. В общем, чего хотел — того добился. Итого. - ВМ1 можно было бы сделать и поудобнее. - 588 серию можно было бы сделать более логичной и удобной - АТА, явно выпирают костыли, но это как бы дело известное и непоправимое - ST-157A неплохо вписался в концепцию, изготовлен в 1990-м, я бы не сказал, что он технологически уж сильно впереди остальной части конструкции. Так, если совсем чуть-чуть. - Надо было предусмотреть скоростной интерфейс. - Часы с календарем не помешали бы, но можно обойтись и без них. - 40 мегабайт диска это много. Пришел к осознанию необходимости как-то нарезать это пространство. - Дисплей 80х25 это мало |
Anonymous
Advanced Member
Откуда: Москва(Россия) Всего сообщений: 2537 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 22 нояб. 2011 |
Mixa написал: А вот вам развлечение, подумайте, как бы можно было использовать больший объём, чем 32Мб. - 40 мегабайт диска это много. Пришел к осознанию необходимости как-то нарезать это пространство. Была заброшенная мечта юности: можно переписать ОС так, что 32Мб останутся ограничением, но на размер каждого одного файла, для запросов .enter, файлового запроса .lookup, запросов .readw-.readc/.writw-.writc при работе с файлами, для совместимости с софтом. А вот объём свободного пространства на диске можно было бы считать уже с большей разрядностью указателей, но внутри ОС, чтоб софт мог штатный работать. Тогда для софта всегда, для любого запроса .enter, будет 32Мб на каждый файл свободно. |
XPOHOMETP
Advanced Member
Всего сообщений: 752 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 13 мая 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 23 января 2018 20:54 Сообщение отредактировано: 24 января 2018 0:53
Mixa написал: Не знаю как там со стороны РС (и драйвера НХ в частности), но ВП-065 вполне себе работает на 57600, даже через оптроны. - Надо было предусмотреть скоростной интерфейс. Связь станет заметно живее, сравнимо с дисководами даже. Mixa написал: Логических дисков наделать... - 40 мегабайт диска это много. Пришел к осознанию необходимости как-то нарезать это пространство. Если склероз не совсем изменяет, то 1 мегабайта хватало чтобы разместить операционку с основными программами, исходники монитора, требуемые библиотеки и т.п. И оставалось место чтобы это все оттранслировать, слинковать и получить собственный вариант RT11 SJ V5.00 Mixa написал: Приходилось использовать БК0010 + телевизор в качестве терминала к МС1201. Вот там 64 х 24 это мало !! - Дисплей 80х25 это мало А 80х25 в самый раз, под них многие редакторы заточены были. Anonymous написал: Это не развлечение, это мазохизьм какой-то При ОЗУ то в 56...64кб. А вот вам развлечение, подумайте, как ... Отзывчивость операционки явно пострадает, хотя-бы из-за размера каталогов... Anonymous написал: Врагу не пожелаю читать исходник на МАКРО-11 размером в 32 МБ будет 32Мб на каждый файл |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... .. 10 11 12 13 14 * 15 | Печать |
Полигон-2 » Бывший СССР » Концепт 1801ВМ1 |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |