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

User Tag List

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

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

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

    По умолчанию Видеокарта "METEOR-202X"

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

    Новая видеокарта будет подключаться к компьютерам "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; 07.01.2022 в 13:44.
    "L-256"

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

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

    По умолчанию

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

  4. #3
    Activist
    Регистрация
    02.11.2007
    Адрес
    г. Краснодар
    Сообщений
    255
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    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
    Veteran Аватар для Raydac
    Регистрация
    16.08.2005
    Адрес
    Estonia,Tallinn
    Сообщений
    1,128
    Спасибо Благодарностей отдано 
    52
    Спасибо Благодарностей получено 
    227
    Поблагодарили
    179 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    По умолчанию

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

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

    По умолчанию

    Для ускорения игр нужно аппаратное копирование из буфера на экран за 1 мс.
    "L-256"

  8. #7
    Guru Аватар для Sayman
    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,277
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 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 как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

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

    По умолчанию

    Восстановить фон в буфере ещё 1 мс. На рисование спрайтов в буфере останется всего 18 мс.
    "L-256"

  10. #9
    Activist
    Регистрация
    02.11.2007
    Адрес
    г. Краснодар
    Сообщений
    255
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    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
    Guru Аватар для andrews
    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,683
    Спасибо Благодарностей отдано 
    422
    Спасибо Благодарностей получено 
    196
    Поблагодарили
    174 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

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

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

Похожие темы

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

Ваши права

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