Важная информация

User Tag List

Страница 1 из 21 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 210

Тема: Видеокарта "METEOR-2020" для устранения клешинга

  1. #1
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    Челябинск
    Сообщений
    3,445
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    13
    Спасибо Благодарностей получено 
    40
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Видеокарта "METEOR-2020" для устранения клешинга

    Разработка предыдущей видеокарты затянулась и зашла в тупик. Материалы были пересмотрены и доработаны.

    Новая видеокарта будет подключаться к компьютерам "ZX SPECTRUM 48K" и "LENINGRAD" через кросс-плату "SPACE MISSION 2020".

    Основное назначение:
    1. Устранение клешинга.
    2. Ускорение игр за счёт аппаратного копирования буфера на экран.

    Концепция при переделке игр - оставляем основной код и спрайты, переделываем вывод на экран.

    Рисовать в новом режиме будем сразу по 8 точек текущими цветами.

    Режим рисования маски цветом COLOR0 будет включаться командой LD L,L.

    Режим рисования спрайта цветом COLOR1 будет включаться командой LD H,H.

    Режим рисования обоими цветами сразу будет включаться командой LD B,B.

    Строение видеопамяти:
    В видеопамяти на каждую точку будет приходиться по 6 битов. 1 бит - BITMAP, 4 бита - цвет точки NEW_COLOR, 1 бит - откуда брать цвет точки при выводе на TV (0 - из BITMAP и атрибута старого экрана, 1 - из NEW_COLOR). Для записи и чтения процессором Z80 доступен только байт BITMAP на 8 точек, соответствующий старому экрану.

    Вместо ПЗУ будут подключаться две новые области графики по 8 К адресов: видеобуфер VBUF1 с адреса 0000 и новый экран SCR2000 с адреса 2000H. Ещё будет видеобуфер VBUF2 для временного хранения.

    Копирование между видеобуферами и новым экраном будет аппаратным за 1 мс.

    Формат хранения изображения в буфере:
    Линейный буфер с простым переходом к байту рядом в любом направлении. Экзотические форматы буфера при доработке игр преобразовывать линейному формату.

    В линейном буфере максимум 256 байтов по вертикали. Для стандартного экрана 256*192 точек достаточно буфер высотой 192 байта.
    Можно в этой же области памяти разместить линейные атрибуты. По вертикали 24 атрибута. 256-24=232.
    Если с запасом 32 атрибута, то буфер точек может быть высотой 256-32=224.
    Небольшой запас может пригодиться.
    Чтобы определить адрес атрибута в линейном буфере с адреса 0000 надо к координате Y (в знакоместах) прибавить E0 и записать в младший байт адреса. Координату X (в знакоместах) записать в старший байт адреса.

    Для копирования на экран нужно задать координаты левого верхнего угла и размеры окна в байтах.

    После записи последнего параметра можно запускать процесс копирования с остановкой Z80.

    Если использовать ПЛИС, генератор 56 MHz и SRAM 256K * 16 10 ns.
    Если шина 16 бит, то нужен доступ за 1 такт 56 MHz. Если шина 64 бита, то за 1 такт 14 MHz.
    Время копирования буфера на экран во время бордера будет равно 32 * 192 * 2 * 4 / 56 MHz = 878 мкс.

    Буфер, где готовится следующий кадр игры, начинается с адреса 0000. Размер буфера 8 кбайт адресного пространства Z80.

    Координата Y записывается в младший байт адресного регистра, а координата X (в байтах) - в старший байт.

    Команды типа
    ld a,(hl)
    and d ; вырезаем по маске
    ld (hl),a

    Заменяем на
    ld l,l ; записываем маску
    ld (hl),d

    Однобайтовая неиспользуемая команда Z80 ld l,l используется для быстрого включения режима рисования нулевыми битами в видеопамяти.


    Адрес байта справа:
    inc h
    Последний раз редактировалось zx-kit; 16.04.2020 в 19:47.
    В планах лаборатории ZX-KIT на 2020 год:
    1. Видеоконвертер "VGA SPUTNIK".

    Скрытый текст


    2. Плата расширения 128K + AY + TR-DOS для "Ленинграда".
    3. Кросс-плата "SPACE MISSION 2020" для "Ленинграда" и "ZX Spectrum".
    4. Видеокарта "METEOR-2020" для кросс-платы.
    5. Модульный радиолюбительский компьютер "R-STAR".
    [свернуть]

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

  3. #2
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    Челябинск
    Сообщений
    3,445
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    13
    Спасибо Благодарностей получено 
    40
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кадры будут синхронизироваться сигналом INT. При этом может быть несинхронность последней строки с ZX Spectrum. Для устранения несинхронности подключение его к монитору будет через видеоконвертер VGA SPUTNIK с тремя видеобуферами для развёртки FULL HD.
    Последний раз редактировалось zx-kit; 30.01.2020 в 19:16.
    В планах лаборатории ZX-KIT на 2020 год:
    1. Видеоконвертер "VGA SPUTNIK".

    Скрытый текст


    2. Плата расширения 128K + AY + TR-DOS для "Ленинграда".
    3. Кросс-плата "SPACE MISSION 2020" для "Ленинграда" и "ZX Spectrum".
    4. Видеокарта "METEOR-2020" для кросс-платы.
    5. Модульный радиолюбительский компьютер "R-STAR".
    [свернуть]

  4. #3
    Activist
    Регистрация
    02.11.2007
    Адрес
    г. Краснодар
    Сообщений
    248
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Проще игру заново переписать, с спрайтами с 1 байтом на точку и нормальным аппаратным спрайтDMA, диззи на 100 кб с 256 цветами на точку угрозы не представляет, карты области обычно занимают места гораздо больше чем 8 битная графика.
    Флешка 128 Мб с 8 битной шиной поможет DOSу
    https://aliexpress.ru/item/330058639...f3e0239de99f5e
    Последний раз редактировалось Nesser; 28.01.2020 в 23:58.

  5. #4
    Master Аватар для Raydac
    Регистрация
    16.08.2005
    Адрес
    Estonia,Tallinn
    Сообщений
    823
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    48
    Поблагодарили
    34 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Проще игру заново переписать, с спрайтами с 1 байтом на точку и нормальным аппаратным спрайтDMA
    проще, только делать это некому

  6. #5
    Activist
    Регистрация
    02.11.2007
    Адрес
    г. Краснодар
    Сообщений
    248
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Дык года то не те уже, это надо было делать лет 20-25 назад, сейчас в микросхеме за 200 рублей весь спектрум умещается

  7. #6
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    Челябинск
    Сообщений
    3,445
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    13
    Спасибо Благодарностей получено 
    40
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Для ускорения игр нужно аппаратное копирование из буфера на экран за 1 мс.
    В планах лаборатории ZX-KIT на 2020 год:
    1. Видеоконвертер "VGA SPUTNIK".

    Скрытый текст


    2. Плата расширения 128K + AY + TR-DOS для "Ленинграда".
    3. Кросс-плата "SPACE MISSION 2020" для "Ленинграда" и "ZX Spectrum".
    4. Видеокарта "METEOR-2020" для кросс-платы.
    5. Модульный радиолюбительский компьютер "R-STAR".
    [свернуть]

  8. #7
    Guru Аватар для Sayman
    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    2,996
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    24
    Поблагодарили
    20 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zx-kit Посмотреть сообщение
    Для ускорения игр нужно аппаратное копирование из буфера на экран за 1 мс.
    зачем для столь низкого разрешения такие бешенные скорости? современные видеокарты, вроде GeForce 10x0 при 60фпс выстраивают картинку за 4мс - 6мс. и это в разрешении FHD, с кучей шейдеров и прочей ботвы. а для чего в низком разрешении производить копирование за 1мс? 4 - 6 мс более чем достаточно. при этом 4 - 6 мс это примерно 80 - 90 тактов процессора. это просто фантастика какая-то копировать с такой скоростью. это просто сотни мегабит производительности. мы точно про Спектрум тут говорим?
    Последний раз редактировалось Sayman; 29.01.2020 в 19:34.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...

  9. #8
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    Челябинск
    Сообщений
    3,445
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    13
    Спасибо Благодарностей получено 
    40
    Поблагодарили
    31 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Восстановить фон в буфере ещё 1 мс. На рисование спрайтов в буфере останется всего 18 мс.
    В планах лаборатории ZX-KIT на 2020 год:
    1. Видеоконвертер "VGA SPUTNIK".

    Скрытый текст


    2. Плата расширения 128K + AY + TR-DOS для "Ленинграда".
    3. Кросс-плата "SPACE MISSION 2020" для "Ленинграда" и "ZX Spectrum".
    4. Видеокарта "METEOR-2020" для кросс-платы.
    5. Модульный радиолюбительский компьютер "R-STAR".
    [свернуть]

  10. #9
    Activist
    Регистрация
    02.11.2007
    Адрес
    г. Краснодар
    Сообщений
    248
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Мы говорим про разрешение 256x192? для Z80 предел мечтаний это 1 байт на пиксель, на крайняк этот байт транслировать через озу палитры 256->32768.
    Для того что бы переделать допустим Dizzy и зачем то вкорячивать в игру видеодрайвер который будет из 1 битных спрайтов делать такой же 1 битный но с подсветкой придётся перелопатить ВСЮ игру и мудохатся с перекрытием 16к банков ибо там всё сделано под упор, всё это изучение и переделка займёт недели, при этом найти и вытащить ВСЕ спрайты в игре занимает 5-10 минут, в Dizzy какой то сложный интеллектуальный движок? во всех частях одинаковый и написать надо всего 1 раз, там от силы на пару Кб, +новый видеодрайвер, смысл хранить и преобразовывать в реальном времени спрайты из 1 бита в 1 байт нет никакого смысла, загрузил в редактор 1 битные с подкраской, подкорректировал их в 1 байт на точку с маской, нажал СЖАТЬ и СОХРАНИТЬ, вставил полученный файл в ассемблер и игра готова 256 спрайтов размером 8 на 8 с 1 байтом на точку занимают всего 16 Кб, после сжатия будет 3-5 Кб которые после загрузки уже и распакуются в памяти, на Dizzy не хватит 256 полноценных спрайтов для создания фона и всех персонажей? тем более там по сути только руки двигаются, ну не хватит пусть будет на 32 Кб, само тело игры вместе с меню не думаю что будет больше 4-8 Кб.
    Практически во всех спектрумовских играх бОльшую часть данных занимает не графика а сам КОД, при чём он большой именно из-за корявости самой системы и самый большой кусок кода это и есть вывод на экран.
    Что мешает сделать ПЗУ для видеовывода? BASIC есть, DOS есть, проблема ещё 16 Кб отдать?
    Не нужны никакие многоплановости, век денди и сеги уже прошёл, все планы и спрайты накидывает всего 1 канал переброса, в случае с 256x192 это 49152*50 = 2,5 Мб в сек на 1 фон, 5 Мб/сек достаточно что бы кинуть фон в динамике (он же сотрёт и всё что было на экране) и накидать полный экран спрайтов, делать естественно чередуя 2 экрана, НО! Z80 с 900 тыс. операций рег-рег никогда не сможет подготовить необходимые расчёты, в случае с аппаратным двойным фоном этого так же не хватит для подготовки данных, то есть готовить данные должно что-то другое чем 44 летний процессор.
    И да, видеопамять НЕ ДОЛЖНА быть в адресном пространстве процессора, в этом нет никакого смысла, всё убрать в банки.
    Если всё это городить то и должен быть попиксельный вывод, можно подцепить на адреса пзу регистры записи, допустим:
    LD L,32 ; координата X
    LD H,64 ; координата Y
    LD A,117 ;цвет
    LD (256),HL ;по адресу 256 рег-защёлка X, 257 - Y
    LD (258),A ; записывает цвет в видеопамять, регистр X увеличивается на 1 (наверное, по настройке)

    LD A,(258) ;считать цвет из видеопамяти
    Последний раз редактировалось Nesser; 29.01.2020 в 22:32.

  11. #10
    Veteran Аватар для andrews
    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    1,840
    Спасибо Благодарностей отдано 
    58
    Спасибо Благодарностей получено 
    27
    Поблагодарили
    22 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Nesser Посмотреть сообщение
    Дык года то не те уже, это надо было делать лет 20-25 назад, сейчас в микросхеме за 200 рублей весь спектрум умещается
    да ну! это если ASIC тиражом 10 млн. штук. А так калькуляцию и спецификацию в студию пожалуйста!

Страница 1 из 21 12345 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Модульный компьютер "SPACE MISSION 2020"
    от zx-kit в разделе Unsorted
    Ответов: 43
    Последнее: 25.05.2020, 15:30
  2. Быстрая видеокарта "METEOR-2013"
    от zx-kit в разделе Изображение
    Ответов: 1083
    Последнее: 07.01.2020, 14:05
  3. Новый принцип устранения клешинга
    от Smalovsky в разделе ZX Концепции
    Ответов: 348
    Последнее: 24.11.2018, 17:42
  4. Ответов: 11
    Последнее: 06.10.2016, 12:19
  5. Ответов: 43
    Последнее: 03.10.2015, 07:09

Ваши права

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