User Tag List

Показано с 1 по 10 из 32

Тема: Вектор Турбо+

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,060
    Спасибо Благодарностей отдано 
    578
    Спасибо Благодарностей получено 
    468
    Поблагодарили
    251 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Napoleon1 Посмотреть сообщение
    Выслал проект на почту.
    Спасибо, получил и успел уже бегло посмотреть... Что сразу порадовало:
    • замена к155ру2. Возможно это было сделано в первую очередь для режимов с 64 и более цветами, но всё равно это шаг вперёд.
    • замена видеоЦАП на резисторах на ADV7120(7125) -- я об этом думал, но так и не решился опробовать... (не в обиду адептам 100% совпадения цветов палитры, но это должно давать хорошую равномерность градиента по цветам)
    • выход на cxa2075. Пожалуй, лучший вариант для вывода на телевизор, в том числе, думаю, и по rgb на скарт.


    И что огорчило:
    • организация видеопамяти осталась в 32 бита, как на стандартном Векторе. Можно было бы сделать 16 бит, как в схеме ПК-6128, а то и вообще сократить до 8 бит.


    Буду изучать схему дальше...

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

  3. #2

    Регистрация
    19.09.2022
    Адрес
    г. Саров
    Сообщений
    31
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    29
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    Спасибо, получил и успел уже бегло посмотреть... Что сразу порадовало:
    • замена к155ру2. Возможно это было сделано в первую очередь для режимов с 64 и более цветами, но всё равно это шаг вперёд.
    • замена видеоЦАП на резисторах на ADV7120(7125) -- я об этом думал, но так и не решился опробовать... (не в обиду адептам 100% совпадения цветов палитры, но это должно давать хорошую равномерность градиента по цветам)
    • выход на cxa2075. Пожалуй, лучший вариант для вывода на телевизор, в том числе, думаю, и по rgb на скарт.


    И что огорчило:
    • организация видеопамяти осталась в 32 бита, как на стандартном Векторе. Можно было бы сделать 16 бит, как в схеме ПК-6128, а то и вообще сократить до 8 бит.


    Буду изучать схему дальше...
    Выходную видеопамять я сначала искал двухпортовую, это было бы проще, но подходящей не нашёл. Пришлось ставить обычную с громадным избытком по объёму. Заодно использовал её же в других местах.
    ЦАП сначала тоже хотел городить на резисторах, но получилось очень громоздко - с готовым ЦАПом гораздо компактнее и проще.
    А насчёт битности памяти - чем это плохо? Учитывая время выборки принципиально можно было бы сделать 16 бит, но понадобились бы промежуточные регистры и другие мультиплексоры адреса. А суммарно всё равно микросхем ОЗУ столько же, поскольку требуются однобитные микросхемы, чтобы работал механизм маски записи в ОЗУ.
    Поэтому не удалось применить современные микросхемы. Зато получилось аутентично :-)

  4. #3

    Регистрация
    06.02.2018
    Адрес
    г. Волгоград
    Сообщений
    1,060
    Спасибо Благодарностей отдано 
    578
    Спасибо Благодарностей получено 
    468
    Поблагодарили
    251 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Napoleon1 Посмотреть сообщение
    Выходную видеопамять я сначала искал двухпортовую, это было бы проще, но подходящей не нашёл. Пришлось ставить обычную с громадным избытком по объёму.
    Да, я замелил избыток, но он не критичен. Хотя, избыток можно было бы использовать под хранение нескольких наборов цветов палитры и быстро их переключать, но оставим это улучшение на потом. А с двухпортовой памятью может и было бы проще, но смысла там в ней нет -- это же не видеопамять, когда нужно писать и читать одновременно по разным адресам, тут просто палитра, которая иногда пишется между кадрами.

    Цитата Сообщение от Napoleon1 Посмотреть сообщение
    А насчёт битности памяти - чем это плохо?
    Это не плохо, просто сокращение битности до 16 позволит сократить количество корпусов памяти вдвое, и можно будет применять более ёмкую память, а то и вовсе перейти полностью на статику...

    Цитата Сообщение от Napoleon1 Посмотреть сообщение
    Учитывая время выборки принципиально можно было бы сделать 16 бит, но понадобились бы промежуточные регистры и другие мультиплексоры адреса.
    Посмотрите схему ПК-6128, там это элегантно решили всего одной микрухой-триггером, делая задержку на 1 бит по двум каналам, что позволило читать данные последовательно по 16 бит.

    Второй вариант -- использовать 74HCT597, там сдвиговый регистр дополнен защёлками на параллельном входе, можно асинхронно записать туда байт, а потом, в нужный момент, загрузить его в регистр. Как это работает можно глянуть в схеме моей графической платы.

    Цитата Сообщение от Napoleon1 Посмотреть сообщение
    А суммарно всё равно микросхем ОЗУ столько же, поскольку требуются однобитные микросхемы, чтобы работал механизм маски записи в ОЗУ.
    А что за "механизм маски записи в ОЗУ", извиняюсь?

  5. #4

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,386
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,365
    Поблагодарили
    1,315 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Improver Посмотреть сообщение
    что за "механизм маски записи в ОЗУ"
    "46h - порт маски записи", 12я страница Вектор Турбо.docx. На мой субъективный взгляд околоEGAшные возможности (порты 45h и 46h) в том виде, в котором они сделаны, приносят проекту больше вреда чем пользы. Другое дело, если бы они были поддержаны большим количеством ПО, но на это вряд ли можно рассчитывать.
    Последний раз редактировалось ivagor; 21.09.2022 в 07:06. Причина: исправил опечатку

    Этот пользователь поблагодарил ivagor за это полезное сообщение:

    Improver(21.09.2022)

  6. #5

    Регистрация
    19.09.2022
    Адрес
    г. Саров
    Сообщений
    31
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    29
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    "46h - порт маски записи", 12я страница Вектор Турбо.docx. На мой субъективный взгляд околоEGAшные возможности (порты 45h и 46h) в том виде, в котором они сделаны, приносят проекту больше вреда чем пользы. Другое дело, если бы они были поддержаны большим количеством ПО, но на это вряд ли можно рассчитывать.
    Ну вообще-то этот механизм минимум в 3 раза ускоряет вывод символов и спрайтов не кратных по ширине байту или со сдвижкой по горизонтали не кратной байту.

  7. #6

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,386
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,365
    Поблагодарили
    1,315 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Napoleon1 Посмотреть сообщение
    этот механизм минимум в 3 раза ускоряет вывод символов и спрайтов не кратных по ширине байту или со сдвижкой по горизонтали не кратной байту
    Можете привести пример кода?

  8. #7

    Регистрация
    19.09.2022
    Адрес
    г. Саров
    Сообщений
    31
    Спасибо Благодарностей отдано 
    18
    Спасибо Благодарностей получено 
    29
    Поблагодарили
    10 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Можете привести пример кода?
    Как то так.
    Код:
    ; Вывод символа на экран
    ; HL - адрес символа в знакогенераторе (символ шириной 6 пикселей в младших битах)
    ; E - младший байт адреса символа на экране (позиция строки)
    ; A - позиция символа в строке
    ; Принцип отображения для 40 символов в строке:
    ; 0 символ - сдвиг 2, символ в старших битах байта
    ; 1 символ - сдвиг 4, 2 бита в этом столбце, 4 - в следующем
    ; 2 символ - сдвиг 6, 4 бита в этом столбце, 2 - в следующем
    ; 3 символ - сдвиг 0, символ в младших битах байта
    ; Дальше всё повторяется
    
    DrawSymb:
    	di
    	push hl
    	ld b,a
    	and 3ch
    	rrca
            ld c,a
    	rrca
            add a,c
    	add a,0e0h	; Выводить будем в верхнюю плоскость
    	ld d,a	; Получаем горизонтальный полуадрес левого байта из 3 байтов, где могут быть 4 символа
    	ld a,b
    	and 3	; Выделяем биты, определяющие сдвиг символа 
    	ld bc,0300h	; Маска для 0 символа
    	ld l,2		; На сколько нужно сдвинуть влево байт символа при выводе на экран
    	jr z,DrawSymb1
    	dec a
    	ld bc,0fc0fh ; Маска для 1 символа
    	ld l,4
    	jr z,DrawSymb1
    	inc d
    	dec a
    	ld bc,0f03fh ; Маска для 2 символа
    	ld l,6
    	jr z,DrawSymb1
    	inc d	; в D получается полуадрес левого байта, где будет часть или весь символ
    	ld bc,0c000h ; Маска для 3 символа
    	ld l,0
    DrawSymb1:
    	ld a,l
    	pop hl		; Восстанавливаем указатель на символ в знакогенераторе
    	or a,0c0h	; Добавляем 3 бита системных параметров
    	out (45H),a	; Включаем циклический сдвиг
    	ld a,с
    	ex af,af'	; Сохраняем маску для второго байта
    	ld a,b
    	out (46H),a	; Включаем маску для первого байта
    	ld bc,8		; Высота символа 
    	ldir		; Выводим левую часть символа
    	ex af,af'	; Восстанавливаем маску для второго байта
    	and a
    	jr z,DrawSymb2 ; Весь символ в одном байте
    	out (46H),a	; Включаем маску для второго байта
    	dec hl
    	dec e
    	ld bc,8
    	lddr		; Выводим правую часть символа
    DrawSymb2:
    	xor a
    	out (46H),a	; 
    	ld a,0e0h
    	out (45H),a	; 
    	ei
    	ret
    Последний раз редактировалось Napoleon1; 21.09.2022 в 21:06.

    Эти 2 пользователя(ей) поблагодарили Napoleon1 за это полезное сообщение:

    Improver(21.09.2022), ivagor(21.09.2022)

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

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

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

Похожие темы

  1. АТМ Турбо 1/2/2+
    от artice в разделе ATM
    Ответов: 5
    Последнее: 17.12.2025, 20:14
  2. Ответов: 17
    Последнее: 05.10.2012, 20:11
  3. Меняю Вектор/БК11М на Вектор (или куплю)
    от dk_spb в разделе Барахолка (архив)
    Ответов: 13
    Последнее: 07.01.2012, 17:31
  4. Турбо ВГ-93
    от Иван в разделе Внешние накопители
    Ответов: 1
    Последнее: 09.11.2006, 14:59

Ваши права

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