Просмотр полной версии : Посоветуйте о простом подключении ISA-16 VGA к ДВК
Уважаемые ДВКшники, пожалуйста, посоветуйте , как по-проще подключить ISA-16 VGA видеокарту к ДВК ?
Пока на аппаратном уровне, программный - пока оставим за скобками :confused:
Вероятная модель видеокарты - Триадент 9000.
Что нужно - минимум - что бы выводить символы ASCII 80 х 24 строки 1 цвет с 31 кгц строчной. Остальное - вторично.
Насколько я понимаю, само подключение не решит вопроса с выводом.
Так как всё упрётся в программный уровень - правильную инициализацию видеокарты.
Но
программный - пока оставим за скобками
Какие есть варианты чисто подключить?
1. Найти что-то готовое . В природе существуют готовые мосты ISA-QBUS, даже PCI-QBUS. Проблема только в том, что эти мосты стоят дорого и очень редки. И ещё нужно знать, как он работает(без описания - печалька )
2. Самому разработать и сделать мост. Шинные драйверы, с одной стороны. На FPGA преобразователь интерфейса. Шинные драйверы с другой стороны. Но нужно иметь понимание что да как. Хотя если получить такой мост, то подключить можно будет много чего ;) Всё упрётся в софт и идеи(звуковые карты, контроллеры дисков и прочая)
3. Заинтересовать кого-то, кто работает в этой области. Есть способные на это тут на форуме.
4. Можно ещё повесить на шину QBUS что-то более современное. Например, из семейства STM32. Там в семействе есть процессоры с графическим ускорителем и сразу с интерфейсом на LCD панель. В некоторых случаях это может оказаться проще. В качестве примера подобного сотворённого- ремулятор(STM32 эмулирует микросхему ПЗУ).
Как-то так :)
На FPGA
семейства STM32
Из опыта могу сказать - не стоит тут писать эти слова ;)
как по-проще подключить ISA-16 VGA видеокарту к ДВК ?Во-первых, нужно определиться, какое адресное пространство можно пожертвовать на эту видюху. Варианты - от нескольких регистров в странице ввода-вывода - с доступом к единственному слову из памяти видюхи, и до полной станицы диспетчера памяти ВМ3 в 4К слов. То есть, конечно, можно и всю видеопамять подключить к ДП, но тогда ее объем надо будет вычесть из 4М памяти, доступной для ВМ3.
И, во-вторых, надо будет определиться с ПЗУ-хой БИОСа этой карточки - она тоже должна где-то быть. И с высовыванием в адресное пространство ее кусочка, вместо всей ПЗУхи, могут быть сложности - к ней же тоже придется городить диспетчер памяти.
А так - не очень сложно: принимаем в регистр(ы) старших разрядов адреса видеопамяти код адреса, затем обращаемся с записью или чтением к тому кусочку видеопамяти, который представлен в адресном пространстве ДВК (от одного слова до 4 К слов), и вперед!
Да, ИМХО, на рассыпухе это не соберешь - плата будет ОЙ, то есть без ПЛИС не обойтись. И старые ПЛИС, вроде ГАЛок, тоже, скорее всего, не сдюжат.
Чуть более конкретные предложения по мосту МПИ - ISA :
1. Без ДМА, т.к. задача - простое подключение.
2. Для VIRQ можно приделать 588ВН1 - аж целых 2 вектора ! Но нужно ли ?
3. Окно памяти в секторе BS7 выбирать в рамках 160000...177400 с шагом 400 ( 8 ), длиной 400 ( 8 ).
4. Сделать регистр - префикс адреса ISA ( там АП 16 метров - 24 проволоки адресов ).
5. Инвертировать данные на ISA - для удобства .
6. Возможно, придется как-то выделить АП регистров для ISA - они там вне общего АП ( ??? ).
А может https://zx-pk.ru/threads/26455-chto-maksimum-mozhno-vyzhat-iz-kr580vg75-intel-8275-obsuzhdenie.html?p=1139261&viewfull=1#post1139261 ?
Ну, то есть не ISA к ДВК подключать, а сделать видеокарту с МПИ?
видеокарту с МПИ?
Нужно что-то маленькое, малопотребляющее ( до 0.5 а макс ) и на 31 Кгц строчной, а так есть КЦГД...
И лучше с графикой. А еще лучше - VGA...
Vasily_A
17.12.2021, 23:05
на почти любой мелкой современной плис делается, для текста чисто на внутреннем блочном или распределенном озу, 4КБ всего надо для текста в цвете (аналог 0х03 вга режима), если знакогенератор не влезет в память - можно снаружи его в 27ххх, для антуража. Сопряжение с мпи - по вкусу, чуть больше пары десятков сигналов, хоть на моп-транзисторах. 4к в адресном пространстве, если надо скорость, или два адреса, если жалко адресное пространство.
можно на старой 5в плиске или цплд, прям на шину, но надо внешнюю статику (хоть от кэша старой материнки, 32к х8).
вга исовую использовать - сложно, я (правда еще до инетовских времен) замучился, куча хреново документированных тонкостей.
Вероятная модель видеокарты - Триадент 9000.
Что нужно - минимум - что бы выводить символы ASCII 80 х 24 строки 1 цвет с 31 кгц строчной. Остальное - вторично.
А можно всё-таки узнать, почему уже десять лет подряд задаётся этот вопрос и всегда про Трайдент 8000/9000? Зачем именно так? Может быть, эту задачу можно решить как-то проще и лучше?
PS: Задача решается хотя бы самым мелким вторым Циклоном, EP2C5. 10КБ встроенного ОЗУ, дошиша логики, при известной пряморукости совместим в 5В интерфейсами. Если поискать, то можно найти за 2 круб/штука в Мск.
SuperMax
18.12.2021, 07:06
Нужно что-то маленькое, малопотребляющее ( до 0.5 а макс ) и на 31 Кгц строчной, а так есть КЦГД...
И лучше с графикой. А еще лучше - VGA...
как я уже писал, я потащу наработки AZ-БК на ДВК
а это сейчас
- звук (простой спикер, covox, AY, DMA PCM, DMA IMA ADPCM)
- VGA 1024x768x8bit и палитра 15bit
(вот прямо сейчас делаю кучу видеорежимов трансформируемых из 1024x768 - будет даже спектрум 256х192 ;-) )
те в принципе уже можно рисовать схему и печатку
Это, конечно, очень интересно, но ДВК-шнику в первую очередь нужен алфавитно-цифровой терминал на 177560-66, VT52, а лучше - VT240. И делать его на FPGA умаешься, а вот на любом приличном МК - запросто. К тому же, нужна еще клавиатура, а они сейчас все USB-шные, так, что МК дожен иметь на борту USB-host или USB-OTG - делать их на FPGA еще сложнее. Ну, а если туда затолкать еще и графические возможности, то это вообще будет рулез, но это, конечно, на FPGA. Ну, и, конеяно, надо влезть на "половинку" МПИ/QBUS, но это, ИМХО, запросто.
И делать его на FPGA умаешься
Да да, конечно. Всё уже сделано до нас
https://pdp2011.sytse.net/wordpress/wp-content/uploads/2021/01/500-0082-1536x1244.jpg
PDP-2011, VT100-VT105
Да да, конечно. Всё уже сделано до насИ где здесь VT240 ?
И где здесь VT240 ?
в первую очередь нужен алфавитно-цифровой терминал на 177560-66, VT52
И делать его на FPGA умаешься
Тама
Это, конечно, очень интересно, но ДВК-шнику в первую очередь нужен алфавитно-цифровой терминал на 177560-66, VT52, а лучше - VT240. И делать его на FPGA умаешься, а вот на любом приличном МК - запросто.
Ну почему же? Сделали ведь (правда, странноватый) 15ИЭ на рассыпном процессорном комплекте, и он даже работает. Микропрограммный автомат для разбора управляющих последовательноствей сделать не так уж и сложно.
1. Тема немного про другое
2. ТС не любит ни FPGA, ни МК
3. Так и останется хотелкой
SuperMax
19.12.2021, 12:46
если говорить о задаче с видеокартой, то единственный рабочий вариант, это мост в адресное пространство
те чтобы ISA была не в виде набора регистров через который можно что-то туда передать и что-то получить
а обращаясь к определенным адресам на QBUS мы получали ответ от портов видеокарты и ее видеопамяти
тогда можно говорить о какой-либо скорости работы, но такая задача уже не является тривиальной.
такая задача уже не является тривиальной
Как мне кажется, задача не являет тривиальной из-за программной составляющей.
Скорее всего, мост (аппаратная составляющая) сделать несложно, но дальше всё упрётся в то, что (программная составляющая) а) насколько я себе представляю, что бы оно заработало, его надо как никак инициализировать и б) набор регистров и правила работы с ними хоть как то была стандартизованы в стандарте IBM XGA, но потом народ понесло в разнос и не факт, что инициализация для одного видеоадаптера подойдёт для другого
ТС стартёр ограничил выбора адаптера, что уменьшает сложность, но...
Программную составляющую это не отменяет. Так что несмотря на то, что
программный - пока оставим за скобками - "я подумаю завтра" - всё упрётся в написание кода, а это или а) энтузиаст, который сделает это за беЗплатно на энтузиазме (где вы, энты, ауууу?) или б) потребует МНОГО денег профессионалу (где вы (деньги и профи), ауууу?)
Вот я выше и предложил обратиться к энтузиасту, который собрал VGA адаптер (текстовый) на советской элементной базе для ISA. Может ему интересно будет адаптировать адаптер :v2_dizzy_facepalm: под другую платформу? Под требования ТС вроде подходит.
Под требования ТС вроде подходит.
Ну это план "Б", хотя 128 символов маловато будет...
Считаем :
Знаки-цифры 40...77 ( 8 ) - 32 шт.
Латинские 100...177 - 64 шт.
Русские 100...177 - 64 шт.
Итого минимум надо 160 символов.
*
Просьба заинтересованных в аппарате написать тут .
Будет в виде приставки к БК11М, но может работать и на силовой МПИ ДВК-3 МС1201.03, со скрипом ( без банка ДОЗУ 140000...157777 ) - и на МС1201.01, МС1201.02.
Какого размера нужно окно в АП МС1201.03 для прямой адресации ISA-16 ?
Ну это план "Б", хотя 128 символов маловато будет...
Какого размера нужно окно в АП МС1201.03 для прямой адресации ISA-16 ?
3 слова. Младшие 16 бит адреса, старшие 4 бит адреса + флаг работы с портами, 16 бит данных. Транзакцию инициировать по чтению/записи регистра данных. Как бонус, может быть полезен автоинкремент адреса. Если нужен статус/управление, то, возможно, имеет смысл объединить с регистром старших бит адреса.
Ну это план "Б", хотя 128 символов маловато будет...
Не понял, о чем речь? VGA адаптер поддерживает 256 символов. Более того, можно переключать разные таблицы, шрифты.
Не понял, о чем речь?
ВГ75 7 битная внутри.
См. "Микроша", Р-86.
3 слова. Младшие 16 бит адреса, старшие 4 бит адреса + флаг работы с портами, 16 бит данных. Транзакцию инициировать по чтению/записи регистра данных. Как бонус, может быть полезен автоинкремент адреса. Если нужен статус/управление, то, возможно, имеет смысл объединить с регистром старших бит адреса.
мысли в слух:
С точки зрения адресного пространства, чем меньше занято адресов тем лучше, так как оно не резиновое. Т.е. минимально достаточно 1 адреса в bs7 (ну и регистр на этом адресе будет нести 8bit данных и 8bit флажков). Выходит что через этот 1 регистр надо будет уметь передать старшую\младшую часть адреса на ISA а так же 1 байт данных ISA. По сути это режим эмуляции i8088.
НО! Есть так же 16bit ISA, для таких карт надо будет уже больше логики в адаптере и больше статус битов, так как нужно 2-мя обращениями записать\считать сначала первые 8bit данных и потом вторые. Что выглядит как явно притянутое за уши усложнение так как pdp11 процессор в общем 16bit и ему писать читать 16bit слова без перепаковки данных проще.
Короче видимо для упрощения поддержки 16bit ISA нужен еще 1 регистр в bs7.
Тогда выходит первый регистр будет чисто регистром данных 16bit (ну а для 8bit ISA например только младшая часть его будет использованна) а второй регистр будет чисто регистром статуса с аж 16 флагами.
Третий регистр по идее может помочь сделать адаптер еще проще, так как можно разнести адреса и данные.
Четвертый регистр очевиден чисто с точки зрения схемотехники, просто и логично делать 1, 2, 4, 8 и т.д. регистров, так что оптимально адаптер должен иметь 4 регистра (из них 2 регистра 16bit данные и младшие 16bit адреса, и 2 регистра 4bit cтаршие адреса и 16+12bit флагов)
4 регистра
2 регистра и окно 8 Кбайт в прямой адресации.
Для БК11/М окна могут быть в 13-й странице ПЗУ ( адреса 100000-117777, 120000-137777 ), для МС1201.02 - на адресах 140000-157777, для МС1201.03 - выше 1 метра АП.
1-й регистр - адрес окна в АП 16 метров ISA-16.
2-й регистр - данные в АП регистров ISA-16
Подскажите, кто в ISA-16 VGA разбирается - какой размер прямо-адресуемой видеопамяти у карты ?
https://pdf1.alldatasheet.com/datasheet-pdf/view/130192/ETC1/TVGA9000I.html
ПЗУ в прямой адресации ISA-16 у видеокарты 32 Кбайт.
Ещё надо учитывать, что адресация на ISA - 24 бита, на PDP-11 максимально 22 бита...
Вопрос моста решается через FPGA.
Вопрос на аппаратном уровне сравнительно легко решаем через небольшую FPGA.
И даже с DMA и векторами прерывания решаем. Но вот софт... Особенно первичный... IDE-винчестер решаем.
Но:
Многие платы для ISA содержат BIOS, коий помогает в работе.
Тот же BIOS видеокарты(сетевого адаптера, SCSI и прочая) надо будет переписывать на PDP-11 либо вводить в систему i-86 совместимый процессор для его исполнения. Может получиться кросс-плата PDP-11 на PC :)
Универсализм - это хорошо, но не в данном случае и в данный момент.
Если хочется просто красивой графики - сочетание мелкая FPGA+STM32. Можно эмулировать либо конкретный терминал графический (всё в руках человека, минимум проблем с софтом, если на последовательный порт, то FPGA не нужна), либо видеоадаптер Э-85, либо придумать нечто своё с соответствующими софтовыми проблемами ;)
Подскажите, кто в ISA-16 VGA разбирается - какой размер прямо-адресуемой видеопамяти у карты ?
Как и у любой классической VGA/EGA -- 64КБ. Карты, поддерживающие линейный кадровый буфер могут требовать больше, само собой.
Плюс порты 3Dx и 3Cx для управления картой.
- - - Добавлено - - -
Если хочется просто красивой графики - сочетание мелкая FPGA+STM32. Можно эмулировать либо конкретный терминал графический (всё в руках человека, минимум проблем с софтом, если на последовательный порт, то FPGA не нужна), либо видеоадаптер Э-85, либо придумать нечто своё с соответствующими софтовыми проблемами ;)
Это говорилось уже множество раз, но ММ почему-то хочет именно древний Трайдент. Мне лтчно тоже было бы проще что-то подобное сделать на FPGA (хватить довольно мелкой), STM32 и паре микросхем памяти.
Для любителей решений FPGA (4k LUTs) + ARM Cortex-M3 + PSRAM 64Mbit + HDMI трансивер есть дешево и сердито от китайцев:
* Gowin GW1NSR-4C:
https://www.gowinsemi.com/en/product/detail/2/
(https://www.gowinsemi.com/en/product/detail/2/)
* Sipeed Tang Nano 4K board
https://www.aliexpress.com/item/1005003152104886.html?spm=a2g0o.productlist.0.0.36 ea660elakqX2&algo_pvid=3fa0d8b7-2b06-44c0-b4f6-70adcc85bc3b&algo_exp_id=3fa0d8b7-2b06-44c0-b4f6-70adcc85bc3b-0&pdp_ext_f=%7B%22sku_id%22%3A%22-1%22%7D
2 регистра и окно 8 Кбайт в прямой адресации.
Мне посоветовали "2 регистра и окна длиной 200 ( 128 байт ) для регистров и 8 Кбайт для адресации памяти" шины ISA-16.
Окно регистров повысит удобство работы с контроллером накопителей, т.к. там надо быстро смотреть регистры состояния и данных.
Вероятное окно для регистров - 172200...172377, оно ограничено 172140 КМД и 1725хх 1801ВМ3.
- - - Добавлено - - -
Как вариант для окна регистров - 176000...176377 ( 8 ).
Если хочется просто красивой графики - сочетание мелкая FPGA+STM32.Да-да. Я тоже размышлял на тему адаптера МПИ-ISA. Хотелось прицепить сетевушку RTL8019 или похожую - всё на тему перелить свой 40-М винчестер ST251 с трактора на писюк. Аппаратно проблема, вроде-бы, решаема, хоть и коряво. А вот с софтом - литовский праздник Обломайтис, на наших машинках такое просто некуда совать. А это всё еще и сочинить надо. Ну, хотя бы, спортить, но системы сильно разные, так, что, по-любому, сочинять больше, чем портить.
А на тему "мелкая FPGA + STM32" я давно прикидываю хороший полноценный VT240 + ДВК-шный КГД. VT240 в режиме совместимости с VT52 вполне заменит КСМ, в полном VT240 - КЦГД-182 в текстовом режиме (без графики), а для графики, т.е. игрушек, хватит и КГД - 90% КЦГД-шных игрушек суть порт с КГД, а без остальных 10% можно и пережить. Тем более, что не все КГД-шные игрушки спортили под КЦГД. А что-то новое под ДВК-шник вряд ли появится... Подтягивать же серьезные графические софты с PDP-11, ИМХО, смысла нет - всё это давно есть и для писюков, причем сильно свежЕе.
Поставить как раз есть куда. На Э-85 видеоадаптер вполне отображается в общее адресное пространство.
Можно памяти выделить хоть мегабайт или даже два :) Или у кого-то есть задачи, коим два мегабайта оперативки мало?? ;)
Выход в исполнении процедур BIOS отдельным х-86 процессором проблема, но решаемая. Но вот что с этим всем далее делать, вот это вопрос... :(
Решение "мелкая FPGA + STM32" позволит много чего. Кроме видео, мы получаем USB-host, с коим вполне можно работать(клавиатура, мышь и прочая). Ещё можно на STM32 - повесить сеть. И даже сэмулировать какой-нибудь сетевой адаптер от DEC ;), диски(ленты) DEC на флэшкарте и даже мультиплексор ;) (благо последовательных портов на STM32 более одного).
ВГ75 7 битная внутри.
А, понял :) Три ВГ75 творят чудеса. Посмотрите, наконец, схему (https://zx-pk.ru/threads/26455-chto-maksimum-mozhno-vyzhat-iz-kr580vg75-intel-8275-obsuzhdenie.html?p=1139261&viewfull=1#post1139261).
- - - Добавлено - - -
Хотелось прицепить сетевушку RTL8019 или похожую - всё на тему перелить свой 40-М винчестер ST251 с трактора на писюк.
По-моему гораздо проще к последовательному порту сетевуху прицепить. Хоть проводную, хоть беспроводную. И про софт думать не надо, IP стек внутри реализован.
Мне посоветовали "2 регистра и окна длиной 200 ( 128 байт ) для регистров и 8 Кбайт для адресации памяти" шины ISA-16.Для регистров - вполне пойдет. А вот для памяти - спорно. Для алфавитно-цифрового экрана оно, в общем-то, на фиг не нужно - вполне хватит двух-трех регистров в странице ввода-вывода, а именно - регистр адреса видеопамяти и регистр данных. Если сделать автоинкремент адреса, то и на скорости это, практически, не скажется, а скорость и так будет вполне приличной. И можно будет использовать все фичи писюшного текстового экрана - цвет, атрибуты и пр. Только, опять же, остается вопрос: куда девать программу, которая будет этим рулить. Да и для графического экрана можно обойтись парой-тройкой регистров - по крайней мере, для записи в последовательные ячейки видеопамяти можно воспользоваться автоинкрементом.
По-моему гораздо проще к последовательному порту сетевуху прицепить. Хоть проводную, хоть беспроводную. И про софт думать не надо, IP стек внутри реализован. Так мы с Максом и прицепили ее к своему AZ. Я же и затеял все эти дела для того, чтобы слить этот свой винчестер. Слить его, правда, не удалось, он, собака, бэдами покрылся, но зато сделали AZ...
вижу обсуждение растекается в разные стороны как разговоры за барной стойкой после 2-й...
1. fpga, stm32... сколько раз уже говорилось, с какой целью Вы вообще на этом форуме? тут спортивный интерес сделать шото что могло быть сделанно в 80-х, 10mhz и 5мкм потолок, все остальное не интересно по той причине что давно есть raspberry pi и все эти ваши извращения делаются примерно вот так - https://youtu.be/w4ffGLkgoEg
2. теперь про окно в адресном пространстве, ну типа идея наверно в том чтоб устанавливать базовый адрес (по сути старшие биты адреса на ISA или пространство IO портов) поменьше раз а по большей части писать\читать данные в ISA пространство напрямую pdp11 процессором, нууууууу довольно сложно будет сделать такое окно что и 8bit и 16bit транзакции на шине ISA эмулировать, хотя есть один деятель который умудрился на шину s100 влепить кучу 8bit/16bit/32bit процессоров и пашет это у него както! А потом это не pdp11 стиль, у pdp11 все пространство занято памятью а вот 4-ка регистров в BS7 довольно типичное решение (dec pro был раскритикован за отход от правил в свое время)
Всё зависит от задачи...
Одно дело, если хочется чего-то просто в ретро стиле и увсё ;)
Полный ISA-QBUS мост было бы круто. Но потом надо будет писать горы софта или все усилия канут в лету.
По поводу неполного моста... Без DMA... Я с чем-то подобным сталкивался. Были распространены крейты КАМАК со всякой интересной начинкой. И были таковые подключенные к Э-60. И для подключения крейта стояла в корзине платка интересная, мост QBUS/UNIBUS. Но была у той платки засада - не поддерживался DMA :( Так что диски и ленты от СМ пролетали мимо :(
Другое дело, если желательно это чего-то применить для существующих программ...
Тут только эмуляция реально существовавшей периферии.
А потом это не pdp11 стиль, у pdp11 все пространство занято памятью
Я уже цитировал одному "персонажу" выдержку из (официальной) книге по архитектуре PDP-11, если вкратце, то - это не так.
- - - Добавлено - - -
надо будет писать горы софта
Горы - не горы, но писать надо будет, и вот тут большая часть проектов умирает или не рождается вообще.
мост QBUS/UNIBUS
https://www.ebay.com/itm/333861619636
Так что диски и ленты от СМ пролетали мимо
Пролетали не ленты и диски, а контроллеры. Но есть другая засада. Даже если предположить, что контроллер есть - его куда то надо воткнуть. Например, в корзину Unibus. У кого она есть? Так что сам по себе конвертер - это не всё решение. Ну и вспомним, что большинство таких контроллеров (дисков и лент) - изделия старые, а значит - контроллер на мелкологике и есть хороший шанс, что это будет не одна плата (ещё и может оказаться шести-ламельная). А значит - всё таки корзина, а не один-два разъёма, припаянные на соплях к шлейфу.
Полный ISA-QBUS мост было бы круто.
Не совсем в ту степь, но есть же такая вещь как PDPC от Клодикс, обсуждался тут и на Полигоне.
В теории эта плата на ВМ3 может общаться с другой ISA и не только периферией в хост-машине, тем более что DMA там вроде бы реализовано (оперативки в плате нет).
Vasily_A
05.01.2022, 11:58
почти по теме:
https://habr.com/ru/post/406193/
Старые ISA-видеокарты и AVR
Напомнило, как я лет 20 назад isa сетевухи к avr подключал (микроконтроллеры с эйзернетом дорогие были, а сетевухи иса ne2000 совместимые рупь за ведро тогда были). Работало в мелкой серии отлично, для пром.автоматизации...
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot