User Tag List

Страница 31 из 55 ПерваяПервая ... 272829303132333435 ... ПоследняяПоследняя
Показано с 301 по 310 из 547

Тема: Что максимум можно выжать из КР580ВГ75 Intel 8275? Обсуждение

  1. #301

    Регистрация
    05.01.2009
    Адрес
    г. Одесса, Украина
    Сообщений
    548
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    152
    Поблагодарили
    68 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот постарался изобразить схему. Лаптя приличная Но до CGA я еще не дотянул, эта видяшка вполне еще приемлемая
    Продолжу техническое описание.
    Байт данных и байт атрибутов не должны содержать 1 в старшем разряде, а то ВГ75 воспримет это как управляющий код.
    Вообще писать туда управляющие коды можно, для этого даже есть небольшой запас объема видео страницы, но это должно быть осмысленными действиями.
    Байт атрибутов: 0 FB FG FR BB BG BR ZG, где F RGB-цвет символа, B RGB-цвет фона, ZG-старший бит кода символа.
    Байт данных соответственно 0XXXXXXX, где X-младшие 7бит кода символа.

    Байт конфигурационного регистра CP0000XXX, где CP- кодовая страница(0-CP866,1-KOI8R), X-в какую видеостраницу будут записываться данные.
    Страница для отображения переключается в регистре стартового адреса DMA. Ну Вы поняли через механизм склейки пересылаемых блоков.

    А теперь расскажу как же оживить этого монстра.
    Для начала в +FE0 записываем, к примеру 0, это кодировка CP866 и 0-вая видеостраница.
    Чистим видестраницу, записывая с +000 до +FA0 в четные адреса 'пробел', в нечетные 70H.

    Пора запустить видеогенератор:
    0 --> +FE9
    79 --> +FE8
    0b10011000 --> +FE8
    0FH --> +FE8
    0b00001001 --> +FE8
    0b11100000 --> +FE9
    тут надо подождать не менее двух CCLK, а то ВГ75 не поймет че с нее хотят.
    0b00100001 --> +FE9
    и, о чудо, появится развертка и оно запустится!
    В исходном состоянии после сброса, DMA на ручнике. Это очень хорошо для нас, можно с видюхи пока еще читать.
    сбрасываем пятый бит регистра статуса ВГ75
    <-- +FE9
    а теперь ждем пока он снова установится, постоянно читая +FE9
    установился, отлично. Начинаем быстро готовить DMA скармливать видеостраницу (пусть будет 0-вая):
    80H --> +FF8 ; потомучто влом мне отдельно 3 канал программировать.
    0 -- > +FF4 ;low start adr
    0 -- > +FF4 ;high start adr
    9FH -- > +FF5
    8FH -- > +FF5 ; couter + mode
    A4H --> +FF8 и еще раз автозагрузка и старт канала 2.
    И усе! Оно готово, теперь в него можно писать. Чтение бессмысленно с этого момента.
    vga4_2vg_dma.PDF
    Последний раз редактировалось freddy; 01.06.2019 в 18:05.
    Real Hardware!

  2. #301
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #302

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо, freddy!
    Это как раз то что я хочу от видеокарты на рассыпухе времен РК-86 и что мы тут долго обсуждали. Народ, давайте закажем PCB "заводского вида"? Отличное устройство получится.

    В качестве маленькой рацухи стесняюсь предложить такое: свободные разряды D3-D4-D5 чипа U7 (регистр страниц ОЗУ/ПЗУ) вывести через резисторы и диоды к транзисторам Q1-Q4-Q5 смешав с тамошним каналом для получения фиксированных на весь видеокадр градаций (итого получится 8 цветов из палитры 64 цвета), а свободный разряд D6 таки дотянуть до A13 ПЗУ U29 (получив сигнал CP2) чтобы фонтов было не 2, а 4 (в случае если ПЗУ 27128 или более емкая). Оно конечно и потом можно 4 проводника кинуть, но лучше сделать плату без лапши МГТФ.

    - - - Добавлено - - -

    ПЗУ разводить сразу для 27с512 (такие сейчас на АЛИ дешевы и весьма быстрые), и по этому же месту можно ставить менее ёмкие. Старшие разряды вывести на 3-игольные джамперы (gnd<->5В). Чтобы кому надо прошили и как-то могли использовать всю ПЗУ. Отдельные дополнительные регистр палитр или страниц ПЗУ (более высокой разрядности) ИМХО не нужны, ибо лучшее враг хорошего. В принципе, мне даже ОЗУ хватило бы 16к (4 страницы по 4к) - например на дешманских "узких" статических ОЗУ с кэшей i386. Кстати, ОЗУ было бы правильно развести в виде "узкая внутри широкой" чтобы можно было ставить оба типа корпусов DIP.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  4. #303

    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    931
    Спасибо Благодарностей отдано 
    243
    Спасибо Благодарностей получено 
    168
    Поблагодарили
    81 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если будет плата, приобрету охотно экземпляр.

  5. #304

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от freddy Посмотреть сообщение
    Вот постарался изобразить схему.
    Вложение 69097
    Вопросик. Для чего служит узел на ИД7(U4),диодах и панели подписанной CONN-DIL16 48к..62к ?
    Узел задержки на 6 инверторах ЛН1(U17) он строго на 6 элементах нужен (сходу тоже не понял для чего оно), или на +- некотором меньшем количестве свободных элементов? Скажем, 2-3-4 эл. достаточно будет?

    Схема по нижнему краю обрезана - часть связей уходит вниз под обрез страницы.
    Последний раз редактировалось Error404; 28.05.2019 в 13:39.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  6. #305

    Регистрация
    05.01.2009
    Адрес
    г. Одесса, Украина
    Сообщений
    548
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    152
    Поблагодарили
    68 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Схема по нижнему краю обрезана - часть связей уходит вниз под обрез страницы.
    перевыложил схему, она слегка, не критично обрезалась снизу при конвертации в PDF. Скачайте еще раз.

    Цитата Сообщение от Error404 Посмотреть сообщение
    Вопросик. Для чего служит узел на ИД7(U4),диодах и панели подписанной CONN-DIL16 48к..62к ?
    по этой схеме оно заточено под машины с 64кб адресного пространства. U4 - это дешифратор стартового адреса, переключалка 48-64к -это выбор стартового адреса. Шаг на схеме 2кб, поэтому выбор двумя джампереами и выравнивание по 4кб сегментам. 2кб шаг оказался здесь так как этот блок DMA также обязан работать с простеньким видеогенератором на ОДНОЙ ВГ75.

    Цитата Сообщение от Error404 Посмотреть сообщение
    Узел задержки на 6 инверторах ЛН1(U17) он строго на 6 элементах нужен (сходу тоже не понял для чего оно), или на +- некотором меньшем количестве свободных элементов? Скажем, 2-3-4 эл. достаточно будет?
    4 наверно хватит, я попробую. Смысл этого узла в том, чтобы на 11 вывод u1b фронт сигнала приходил позже, чем на 13-й, иначе не сформируется сигнал записи. В целом конструкция этого узла неудачна.

    - - - Добавлено - - -

    Цитата Сообщение от Error404 Посмотреть сообщение
    ПЗУ разводить сразу для 27с512 (такие сейчас на АЛИ дешевы и весьма быстрые), и по этому же месту можно ставить менее ёмкие.
    С ПЗУ у меня здесь что то не срослось. Использую флешки 28й серии, которых тоже полно на али и не дорого.
    Цитата Сообщение от Error404 Посмотреть сообщение
    В качестве маленькой рацухи стесняюсь предложить такое: свободные разряды D3-D4-D5 чипа U7 (регистр страниц ОЗУ/ПЗУ) вывести через резисторы и диоды к транзисторам Q1-Q4-Q5 смешав с тамошним каналом для получения фиксированных на весь видеокадр
    И тут тоже облом. Во время VRTC на выходе видеокарты должен быть уровень черного. Поэтому при активном сигнале VSP нужно как то гасить то, что окажется на этих транзисторах. У меня ради этого даже добавлен отдельный триггер u37a, который гасит u36, в итоге на u33 попадают нули и на транзисторы тоже.
    Спасет только полноценный RAMDAC. Его я не делал, ибо и так понимаю, что в здравом уме эту лаптю никто не будет собирать. С рамдаком лаптя станет еще больше и сложнее. Если делать на рассыпухе в стиле 80-х, то это будет какая то скоростная и мелкая статическая ОЗУ, на адреса будет приходить 6 бит выбора цвета, на данных будет ЦАП и с него уже будут кормиться эмиттерные повторители.

    - - - Добавлено - - -

    Цитата Сообщение от Error404 Посмотреть сообщение
    ПЗУ разводить сразу для 27с512 (такие сейчас на АЛИ дешевы и весьма быстрые), и по этому же месту можно ставить менее ёмкие.
    С ПЗУ у меня здесь что то не срослось. Использую флешки 28й серии, которых тоже полно на али и не дорого.
    Цитата Сообщение от Error404 Посмотреть сообщение
    В качестве маленькой рацухи стесняюсь предложить такое: свободные разряды D3-D4-D5 чипа U7 (регистр страниц ОЗУ/ПЗУ) вывести через резисторы и диоды к транзисторам Q1-Q4-Q5 смешав с тамошним каналом для получения фиксированных на весь видеокадр
    И тут тоже облом. Во время VRTC на выходе видеокарты должен быть уровень черного. Поэтому при активном сигнале VSP нужно как то гасить то, что окажется на этих транзисторах. У меня ради этого даже добавлен отдельный триггер u37a, который гасит u36, в итоге на u33 попадают нули и на транзисторы тоже.
    Спасет только полноценный RAMDAC. Его я не делал, ибо и так понимаю, что в здравом уме эту лаптю никто не будет собирать. С рамдаком лаптя станет еще больше и сложнее. Если делать на рассыпухе в стиле 80-х, то это будет какая то скоростная и мелкая статическая ОЗУ, на адреса будет приходить 6 бит выбора цвета, на данных будет ЦАП и с него уже будут кормиться эмиттерные повторители.
    Цитата Сообщение от Xrust Посмотреть сообщение
    Если будет плата, приобрету охотно экземпляр.
    пока над этим думаю, какого формата и под что должна быть плата. Сейчас блок DMA разведен под шину моего компьютера на 8080.
    Дальше не знаю... Летом, если работа позволит, потихоньку хочу написать функции INT10h и тогда плата станет ISA8. И будет достойной заменой заканчивающимся трайдентам. Да... подвалы у китайцев не бездонны... А отечественных ВГ75 можно кучку за 100р купить и пока навалом.
    Real Hardware!

  7. #306

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от freddy Посмотреть сообщение
    С ПЗУ у меня здесь что то не срослось. Использую флешки 28й серии, которых тоже полно на али и не дорого.
    Уф, опечатался, конечно же 28с512 лучше всего, которые электрически стираемые.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

  8. #307

    Регистрация
    12.04.2017
    Адрес
    г. Тольятти
    Сообщений
    931
    Спасибо Благодарностей отдано 
    243
    Спасибо Благодарностей получено 
    168
    Поблагодарили
    81 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от freddy Посмотреть сообщение
    Сейчас блок DMA разведен под шину моего компьютера на 8080.
    Такой вариант вполне устраивает.

  9. #308

    Регистрация
    05.01.2009
    Адрес
    г. Одесса, Украина
    Сообщений
    548
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    152
    Поблагодарили
    68 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Error404 Посмотреть сообщение
    Уф, опечатался, конечно же 28с512 лучше всего, которые электрически стираемые.
    Я вообще подумываю о том, чтобы ПЗУ от туда убрать. Вместо него хочется ОЗУ 64кб + коммутатор шин на 4шт КП11 и 1шт ВА86.
    Real Hardware!

  10. #309

    Регистрация
    05.01.2009
    Адрес
    г. Одесса, Украина
    Сообщений
    548
    Спасибо Благодарностей отдано 
    16
    Спасибо Благодарностей получено 
    152
    Поблагодарили
    68 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от freddy Посмотреть сообщение
    4 наверно хватит, я попробую. Смысл этого узла в том, чтобы на 11 вывод u1b фронт сигнала приходил позже, чем на 13-й, иначе не сформируется сигнал записи. В целом конструкция этого узла неудачна.
    Переделал я этот формирователь сигнала записи по другому. Теперь там -1 корпус, нет ЛН1. На дворе 2019 год, стремно как то выглядело такое решение.
    Упростил чуток дешифратор базового адреса, теперь он разбивает верхние 32к на 8 сегментов. В каком сегменте будет видеокарта, выбирается теперь ОДНИМ джампером J1. Если вдруг у кого то пересекается адресное пространство видеокарты с ОЗУ или еще чем-либо на материнской плате, то предусмотрите на материнке блокировку сигнала ~CS. Для этого в схеме осталось 2 свободных 2И-НЕ и 2шт 2ИЛИ.
    Схему перевыложил. Править уже ничего не охота, работает, да и ладно.

    - - - Добавлено - - -

    Планы на далекое будущее: графический режим и RAMDAC

    - - - Добавлено - - -

    Смешно, что это в разделе для начинающих )))))

    - - - Добавлено - - -

    Теперь немного о том как переключать странички, которые отображаются.
    Программируем стартовый адрес 3 канала DMA
    ADR_LOW --> +FF6
    ADR_HIGH --> +FF6
    где ADR - это начала страничек и может принимать значения 0000h,1000h........7000h
    делать это можно в любое время.

    Как ворочать курсором:
    0b10000000 --> +FE9
    char_number -->+FE8
    row_number --> +FE8

    Все, управление изложил.
    Real Hardware!

  11. #310

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от freddy Посмотреть сообщение
    Если вдруг у кого то пересекается адресное пространство видеокарты с ОЗУ или еще чем-либо на материнской плате, то предусмотрите на материнке блокировку сигнала ~CS.
    Пару мыслей о небольшой универсализации если будем таки делать общий выпуск карточки.

    Предлагаю отцепить дешифратор портов управления (FE0..FFF) от общего поля 4к странички видео-ОЗУ. Или хотя бы предусмотреть вынос дешифратора регистров из 4к как опцию без резки дорожек (добавить перемычку на вывод U16) - для случая когда пользователь снимет перемычку с селекта приходящего на U16, сам допаяет дешифратор (на плате видеоконтроллера сделать небольшое монтажное поле), и подаст с него требуемый селект на вывод U16.

    Поясню. Есть компы где используются все 64к памяти под ОЗУ (например Орион или СпециалистМХ или подобные CPM-компы). Это не мешает запараллелить штатное ОЗУ ПК с видеокартой (при этом в некоторой 4к-области пишется параллельно и в ОЗУ и в видеокарту, читается же из ОЗУ т.е. как бы из видеобуфера). А вот при чтении из регистров ВТ57 и ВГ75 видеокарты, штатное ОЗУ мешаться не должно. Тут или надо делать заметное внедрение в схему ПК чтобы ВУ отключали штатное ОЗУ от шин (что штатно есть далеко не везде и не всегда просто реализуемо), или, что правильнее, размещать регистры "FE0..FFF" в области портов управления (в Орионе есть такая область в отдельных 256 байтах где ОЗУ не мешает читать из ВУ, и т.к. там всего 256 этих байт, и куча устройств, то крайне желательно занимать там минимум), а это будут адреса за пределами области 4к видеобуфера.

    Также нужен какой-то сигнал управления видеокартой (отдельный или может быть в виде бита в регистре страниц ОЗУ/ПЗУ U7) при включении которого не происходит запись в ОЗУ видеокарты (управляемый снаружи гейт для сигнала ~VMW1 записи в 62256 - на одном из оставшихся 2 свободных 2И-НЕ и 2шт 2ИЛИ). Это нужно для того, чтобы для систем с 64к ОЗУ можно было управлять - когда идет запись в видеокарту, а когда "вместо видеобуфера" выполняется и пишет в ОЗУ программа в TPA (например когда в ПК несколько страниц ОЗУ по 64К, буфер помещаем только в одной из них, в других страницах выдавать этот "блокирующий" сигнал - например с регистра страниц ОЗУ - и в других страницах использовать все 64К под выполнение программ)
    Последний раз редактировалось Error404; 02.06.2019 в 12:47.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

Страница 31 из 55 ПерваяПервая ... 272829303132333435 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 21
    Последнее: 21.05.2016, 18:13
  2. Обменяю 5 микросхем КР580ВГ75 на 2 КР580ВВ55
    от Ivan-771 в разделе Барахолка (архив)
    Ответов: 1
    Последнее: 21.03.2012, 08:23
  3. MmcM в эфире Радио Самара Максимум
    от unbeliever в разделе Люди
    Ответов: 15
    Последнее: 09.09.2009, 13:27

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •