Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Бывший СССР »   Концепт 1801ВМ1
RSS

Концепт 1801ВМ1

Неторопливая вольная фантазия в рамках приличий

<<Назад  Вперед>> Страницы: 1 2 3 4 5 6 7 8 * 9 10 11 12 13 14 15
Печать
 
Mixa
Member


Откуда: Москва
Всего сообщений: 170
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 авг. 2009
Вектор прерывания это слово целиком, имеют значение все 15 разрядов.
588ВН1 у меня упрятан за двунаправленный буфер с инверсией и выдает вектор 300, по 7-ми линиям АД, АД8-АД2. Остальные линии буфера на стороне ВН1 ничем не драйвятся, находятся в состоянии высокого импеданса и там присутствует сам собой получившийся потенциал логического нуля, сохраняющийся за счет емкости шины. Ноль этот обусловлен тем, что системная шина (инверсная сторона буфера) притянута к питанию (то есть на ней лог.0 ), в цикле приема вектора ее никто не драйвит и этот лог. 0 передается на неинверсную сторону, разряжая шину со стороны ВН1. По IAKO & DIN буфер переключается, потенциал на шине сохраняется, она начинает чем-то заряжаться, но делает это очень медленно и ноль там сохраняется до конца цикла IACK. То есть, вроде как все детерминировано, но такое положение вещей мне сильно не нравится, удержание потенциала шины в критический момент ее чтения только за счет ее емкости в концепцию ну никак не входит. Я решил проверить, какие разряды ВМ1 воспринимает как вектор прерывания. Расставил ловушки по адресам 1300, 2300, 4300, 10300, 20300, 40300 и 100300. Стал по очереди притягивать линии на неинверсной стороне сопротивлением к питанию. Ловушки срабатывают все. То есть, при выдаче вектора прерывания нужно заботиться о том, чтобы передавались все биты слова без искажения.

Блин, появилась забота, какими средствами это сделать. Возвращаться к подключению "по справочнику"? Тогда получится: АД7 всегда единица, вектора из второй половины таблицы. АД6-АД3 кодируются произвольно. На АД2 завернут VECB, разделяя INT A и INT B. АД1 кодируется нулем с целью удержания потенциала шины. Теперь, с учетом нового понимания, это не просто какой-то мусорный разряд, а разряд, занимающийся удержанием потенциала. Причем этот потенциал программируется :) , не хухры-мухры. АД0 можно оставить условно-неопределенным, в емкостном нуле. Осталось разобраться со старшей половиной шины. А не подвести ли туда 8 диодов от линии инверсное IAKO & DIN ? Другой вариант - отключить вообще этот буфер по IAKO & DIN . Процессору потенциал сформируется подтяжками на системной шине.
Надо подумать.

P.S. Подумал. После раскидывания узлов по "колокольчикам", остался один ИЛИ-НЕ. Если на него подать /DIN и /IAKI , на выходе получится как раз /OE для "верхнего" буфера. /OE "нижнего" буфера - вечный ноль.

Теперь нужно подключать живой IDE и смотреть, как и что там будет получаться. Задумано два отдельных прерывания на одно устройство, думаю, логично и оправдано. Одно прерывание по готовности устройства, это понятно, дал команду на чтение сектора, ушел по своим делам, прервали, пришел за данными. Другое прерывание по готовности пересылки ПДП. Запустил ПДП, ушел по своим делам, прервали, данными в памяти можно пользоваться (если чтение с диска). Если запись на диск, можно запустить ПДП и ждать прерывания уже от устройства, но прерывание от ПДП тоже может быть полезным для какого-нибудь промежуточного контроля.
Anonymous
Advanced Member


Откуда: Москва(Россия)
Всего сообщений: 2537
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
22 нояб. 2011
Mixa, я у себя только буфер младшего байта открываю в цикле передачи вектора, таким образом старший байт всегда равен нулю за счёт подтяжек МПИ со стороны процессора.
Mixa
Member


Откуда: Москва
Всего сообщений: 170
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 авг. 2009
Подключил IDE, попробовал читать-записывать сектора. Удивительно, оно работает. Даже получается фишка с автоинкрементом адреса IDE CS0, и даже можно заполнять регистры методом ПДП. Также сделал таймаут шины при обращении от контроллера ПДП, и тоже фурычит, и вполне вменяемое поведение получается. Случился таймаут, сеанс ПДП заканчивается, возникает прерывание, читаем регистр состояния ПДП - там ошибка, все четко.

Вроде можно переносить с макета на схему, но есть шероховатость. Сейчас группы регистров по IDE CS0 и IDE CS1 адресуются своими отдельными линиями CS, и еще есть третья, идущая на запись в индекс-регистр-счетчик, через который адресуется IDE. Как известно, IDE CS1 представляет из себя тот еще костыль, один из множества уродцев из наследия, начало которому положило IBM PC. К тому же с очень малоиспользуемой функцией, и тратить на это чудо целую линию CS как-то не хотелось бы. И возникла идея объединить его с индекс-счетчиком, поместив счетчик в пустующий старший байт. Пусть оба костылика будут на одном CS, один досадный ATAшный и другой, прикольно-полезный.
Высвободившийся CS пойдет на контроллер прерывания, там один из регистров вектора остался неадресованным. Таким образом, неадресованных ресурсов не остается. Это радует. Пошел перепаивать, и смотреть, что получится.
Anonymous
Advanced Member


Откуда: Москва(Россия)
Всего сообщений: 2537
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
22 нояб. 2011
Mixa написал:
[q]
CS1 представляет из себя тот еще костыль, один из множества уродцев из наследия, начало которому положило IBM PC. К тому же с очень малоиспользуемой функцией
[/q]
Почему малоиспользуемой? Там же не только программный сброс накопителя, там и разрешение прерываний от него.
Mixa
Member


Откуда: Москва
Всего сообщений: 170
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 авг. 2009
Anonymous написал:
[q]
Mixa написал:
[q]
CS1 представляет из себя тот еще костыль, один из множества уродцев из наследия, начало которому положило IBM PC. К тому же с очень малоиспользуемой функцией
[/q]
Почему малоиспользуемой? Там же не только программный сброс накопителя, там и разрешение прерываний от него.
[/q]
Ну да. Пожалуй. Но все равно костыль. :)
В общем, баланс вроде нашел, пошел рисовать схему и печатку. Вот думаю, наверное позволю появиться межслойным переходам не на ногах микросхем. Боюсь, без этого уже не получится, микросхем много на поле 8х10 см, еще и разъемы.. От PALок, кстати, выигрыш сомнительный, кроме БИСов простой ТТЛовский набор будет.
Н-да. На фазе начальной мотивации оно как-то симпатичнее и проще представлялось.

Макет сейчас так выглядит. ВП1-065 на другой плате будет.
Mixa
Member


Откуда: Москва
Всего сообщений: 170
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 авг. 2009
Затею пока не оставил, перешло в фазу переноса всего на печатку. И вот думаю, что по большому счету нет смысла иметь настраиваемые адреса регистров и векторов прерывания. С прерываниями вообще получается два способа задания вектора, потенциалами снаружи и программированием изнутри. Какую из этого можно извлечь пользу или прикол - пока ясности нет. Вот на макете у меня сейчас, железные вектора это 240 и 244, а база для 8-ми регистров - 174200. То есть, диапазон с 174200 до 174216.
Может, их железно сделать и оставить ? Векторы сделать 220 IDE и 224 DMA, по стандарту они диск и лента, диск остается диском, ленты нет и не предвидится. И регистры, занять место того же RK11, 177400 до 177416. Все равно ведь потом будет, ну сделаю возможность задавать перемычками или переключателями, ну поставлю в какое-то значение, но и все.
Mixa
Member


Откуда: Москва
Всего сообщений: 170
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 авг. 2009
Случилось чудо. IDE+DMA неожиданно развелся в два слоя без переходов на сигнальных проводниках. Другая плата это терминал на ВП1-065, плюс MAX232, инверторы для него и переключатель режимов. Кроме терминала ничего туда ставить не стал. Много пустого места, ну и ладно, зато развелось мгновенно. До RTC еще не дозрел, а часики там поместились бы. Но решил не заморачиваться с часами и календарем. Хватит и тех заморочек с IDE+DMA.
Платы в производстве, ура.
Mixa
Member


Откуда: Москва
Всего сообщений: 170
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
8 авг. 2009
Ну что. Типа всё :) Из этого собирается этажерка - и оно работает!


Косяк все же есть, на IDE перепутал CSы. Резать дорожки не стал, обошелся перекручиванием проводов на шлейфе, на фотке видно.
Последовательный порт вывел на разъем IDC-10, стандартный для мультикарт от PC. На митинской барахолке нашел COM-овский хвост, подошел. Там же нашел 588ВТ1 в керамике, его и впаял. Нефиг ему на витрине сверкать под лампочками.

Преобразователь уровней - MAX232. Из-за него пропал смысл наличия отрицательного напряжения питания. И также пропал смысл применения РУ3. Оставил "отладочные" РУ6. Пускай всё от +5 питается. Винчестер не в счёт.

Итого, имеется нечто, с последовательным портом, прерыванием 50 Гц, интерфейсом IDE c DMA и прерываниями. Проект шел под девизом прикоснись к легенде, сейчас как-то само собой трансформировалось в "представь, что это легенда". Какое-то оно карманное, 10х8х8 см (ну, к чему стремился). Чего-то не хватает для самоочевидности. Наверное, масштабности размеров, запаха нагретой изоляции, мигающих лампочек и каких-то звуков.

Винт буду цеплять Seagate ST-157A. Как раз духу того времени соответствует.

RSX-11 не хочу (а она вообще комфортна в 32 к слов?). Посматриваю в сторону RT-11, это правильное направление? Периферии достаточно для нее (терминал, диск, таймер 50 Гц)? А вообще, Ксоникс хочу, это мотивирующая цель.
Anonymous
Advanced Member


Откуда: Москва(Россия)
Всего сообщений: 2537
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
22 нояб. 2011
Mixa написал:
[q]
RSX-11 не хочу (а она вообще комфортна в 32 к слов?). Посматриваю в сторону RT-11, это правильное направление? Периферии достаточно для нее (терминал, диск, таймер 50 Гц)? А вообще, Ксоникс хочу, это мотивирующая цель.
[/q]
Периферии достаточно, но вообще половины памяти маловато и для rt11, это только в BL мониторe работать, даже для SJ/SB - маловато.
Xonix есть под rt11 http://qbus.narod.ru/xonix1.zip такой.
andyTh
Гость

Ссылка

Любопытная этажерочка :)
Интересно будет поглядеть на драйвер IDE, а может и загрузчик даже.
Сейчас на форуме
<<Назад  Вперед>> Страницы: 1 2 3 4 5 6 7 8 * 9 10 11 12 13 14 15
Печать
Полигон-2 »   Бывший СССР »   Концепт 1801ВМ1
RSS

0 посетителей просмотрели эту тему за последние 15 минут
В том числе: 0 гостей, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS