User Tag List

Результаты опроса: Для какого компьютера и конструктива делать видеокарту "METEOR" ?

Голосовавшие
46. Вы ещё не участвовали в этом опросе
  • "ZXM-PHOENIX" с шиной ZX-BUS без корпуса

    18 39.13%
  • "ЛЕНИНГРАД" с шиной IDC-40 в корпусе

    8 17.39%
  • МОДУЛЬНЫЙ КОМПЬЮТЕР "CHELYABINSK" с шиной ZST-BUS без корпуса

    2 4.35%
  • ОРИГИНАЛЬНЫЙ "ZX SPECTRUM" с шиной ZX-EDGE в корпусе

    9 19.57%
  • "ZX-EVO" с урезанной шиной ZX-BUS без корпуса

    23 50.00%
Опрос с выбором нескольких вариантов ответа.
Показано с 1 по 10 из 1084

Тема: Быстрая видеокарта "METEOR-2013"

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

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

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

    По умолчанию

    Цитата Сообщение от JV-Soft Посмотреть сообщение
    Какой то железный огород неимоверный получается, не думали реальный опрос сделать сколько людей хотят эту карту ? Эва поддерживает и цвет на точку и т.д. но софт, что то никто не пишет,не говоря уже о переделке игр (может я не в курсе, сколько игр переделали под красивый экран пантевы ?), если не секрет, к вам уже обращались за программными параметрами карты те, кто готов массово переделывать игры под нее ?

    Это не критика, это на мой субъективный взгляд реалии, которые не в коей мере не говорят о том, что делать ее не надо. Спек это творчество.
    Видеокарта возможно будет работать на нескольких типах компьютеров, даже на Пентагоне и Ленинграде.
    Параметры карты указаны в 1 посте. Обращений с предложением массово переделывать игры не поступало.

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

    Цитата Сообщение от Nesser Посмотреть сообщение
    Диззи надо не только переделать но и продолжить серию.
    Предложите Oliver Twins переделать или написать продолжение Dizzy.
    "L-256"

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

  3. #2

    Регистрация
    14.05.2015
    Адрес
    г. Харьков, Украина
    Сообщений
    2,940
    Спасибо Благодарностей отдано 
    150
    Спасибо Благодарностей получено 
    302
    Поблагодарили
    171 сообщений
    Mentioned
    4 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Видеокарта возможно будет работать на нескольких типах компьютеров, даже на Пентагоне и Ленинграде.
    Параметры карты указаны в 1 посте.
    Долго читал, более менее понял, но пока нет конкретной информации, номера регистров, что за что отвечает,как заполняется адресное пространство через окно в 256 байт, без этого не понять сколько времени уйдет на расчеты адресов и программирование регистров, но уже понятно что уйдет много, спрайты спрайтами, прикинул real-time рисуем допустим вращающийся кубик линиями, для того что бы процедуру рисования линии сделать через регистры и окно в 256 байт уйдет всё прерывание на пересчеты, а не на рисование. Учитывая раньше нам на 8 точек надо было 1 байт в экран кидать (а не через регистры и окно пересылать), а теперь надо 2 байта, уже исходя из этого можем успеть сделать только половину от прошлого, а добавить к этому программирование регистров и расчет адресов для окна, что же у нас останется...
    А у вас нет примера на асме ?
    Увы общий формат форума вышел из рамок моего любимого места , более тут не бываю.

  4. #3

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

    По умолчанию

    Цитата Сообщение от JV-Soft Посмотреть сообщение
    Долго читал, более менее понял, но пока нет конкретной информации, номера регистров, что за что отвечает,как заполняется адресное пространство через окно в 256 байт, без этого не понять сколько времени уйдет на расчеты адресов и программирование регистров, но уже понятно что уйдет много, спрайты спрайтами, прикинул real-time рисуем допустим вращающийся кубик линиями, для того что бы процедуру рисования линии сделать через регистры и окно в 256 байт уйдет всё прерывание на пересчеты, а не на рисование. Учитывая раньше нам на 8 точек надо было 1 байт в экран кидать (а не через регистры и окно пересылать), а теперь надо 2 байта, уже исходя из этого можем успеть сделать только половину от прошлого, а добавить к этому программирование регистров и расчет адресов для окна, что же у нас останется...
    А у вас нет примера на асме ?

    Вращающийся кубик как в ELITE надо рисовать так:


    1. Вычислить координату очередной точки.
    2. Записать координату в видеокарту.
    3. Записать два байта для рисования одной точки для 3х цветов + прозрачный.
    и т.д.

    Вращающийся кубик в трех цветах надо рисовать так:

    1. Вычислить адрес спрайта в основном ОЗУ ZX Spectrum.
    2. Настроить адреса для пересылки.
    3. Записать спрайт в Метеор командой LDIR.
    и т.д.
    "L-256"

  5. #4

    Регистрация
    14.05.2015
    Адрес
    г. Харьков, Украина
    Сообщений
    2,940
    Спасибо Благодарностей отдано 
    150
    Спасибо Благодарностей получено 
    302
    Поблагодарили
    171 сообщений
    Mentioned
    4 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    1. Вычислить координату очередной точки.
    2. Записать координату в видеокарту.
    3. Записать два байта для рисования одной точки для 3х цветов + прозрачный.
    и т.д.
    Мне представляется иначе, я или я не понял принцип, если бы с конкретными цифрами, было бы понятнее, адреса экранов номера назначение регистров, если ошибаюсь поправьте -
    1. Вычислить адрес точки, в памяти и слое видеокарты
    2. Вычислить адрес отправляемых двух байт относительно окна 256 байт в памяти карты (или это через регистры задается)
    3. Отправить эти два байта, и при этом как понимаю надо дергать какие то регистры карты.
    и так по кругу

    Я просто хочу прикинуть на асме, что можно успеть нарисовать за прерывание, но без более конкретной информации увы невозможно.
    Увы общий формат форума вышел из рамок моего любимого места , более тут не бываю.

  6. #5

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

    По умолчанию

    1. Вычислить координату очередной точки для ELITE-графики:
    Сложные математические вычисления (много тактов)

    2. Записать координаты точки в видеокарту:
    ld (xl), hl - записать координату X (16 тактов)
    ld (yl), de - записать координату Y (20 тактов

    3. Записать два байта для рисования одной точки:
    ld hl, 1000000000000000b - данные для рисования одной точки (10 тактов)
    ld (meteor_data), hl - рисование точки (16 тактов)
    "L-256"

  7. #6

    Регистрация
    14.05.2015
    Адрес
    г. Харьков, Украина
    Сообщений
    2,940
    Спасибо Благодарностей отдано 
    150
    Спасибо Благодарностей получено 
    302
    Поблагодарили
    171 сообщений
    Mentioned
    4 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    zst, Вообще запутали
    Цитата Сообщение от zst Посмотреть сообщение
    2. Записать координаты точки в видеокарту:
    ld (xl), hl - записать координату X (16 тактов)
    ld (yl), de - записать координату Y (20 тактов
    На прямую мы ведь не может адресовать весь экран ,xl и yl это адреса в области 256 байт или в карте ? Вы же говорите данные передаются через окно 256 байт, как вычисляется адрес для xl и yl через окно 3B00 — 3BFF в 256 байт ? Как идет работа с окном ?

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

    PS если оставить разрешение до 256 точек можно обойтись половинками регистров, что очень ускорит и расчеты и передачу данных.

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

    Цитата Сообщение от zst Посмотреть сообщение
    Для перемещения этого окна размером 512 байтов в другую область использовать порт 7EH
    Или область 3B00 — 3BFF фиксирована, а подставляется через регистр #7E нужная область, так ?
    Увы общий формат форума вышел из рамок моего любимого места , более тут не бываю.

  8. #7

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

    По умолчанию

    Цитата Сообщение от JV-Soft Посмотреть сообщение
    zst, Вообще запутали

    На прямую мы ведь не может адресовать весь экран ,xl и yl это адреса в области 256 байт или в карте ? Вы же говорите данные передаются через окно 256 байт, как вычисляется адрес для xl и yl через окно 3B00 — 3BFF в 256 байт ? Как идет работа с окном ?

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

    PS если оставить разрешение до 256 точек можно обойтись половинками регистров, что очень ускорит и расчеты и передачу данных.

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


    Или область 3B00 — 3BFF фиксирована, а подставляется через регистр #7E нужная область, так ?
    В этот регистр вместо 3A будем записывать другие числа, чтобы переместить в другую область.
    meteor_data - адрес начала области данных для записи спрайтов.
    Забудьте про адреса на экране - будем использовать координаты.
    Метеор по координатам сам будет вычислять адреса в своей памяти и сам рисовать.

    xl = 3A00
    meteor_data = 3B00
    Последний раз редактировалось zx-kit; 29.09.2016 в 17:36.
    "L-256"

  9. #8

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,966
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    314
    Поблагодарили
    237 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    как человек, когда-то патчивший графику "элиты", не могу промолчать
    Цитата Сообщение от zst Посмотреть сообщение
    1. Вычислить координату очередной точки для ELITE-графики:
    Сложные математические вычисления (много тактов)

    2. Записать координаты точки в видеокарту:
    ld (xl), hl - записать координату X (16 тактов)
    ld (yl), de - записать координату Y (20 тактов

    3. Записать два байта для рисования одной точки:
    ld hl, 1000000000000000b - данные для рисования одной точки (10 тактов)
    ld (meteor_data), hl - рисование точки (16 тактов)
    во-1, кадр в "элите" рисуется не на экране, а в буфере (и потом чересстрочно перебрасывается в экран)
    во-2, никто в здравом уме не будет рисовать отрезки по координатам следующего пикселя
    вычисляют сразу соседний адрес (байтовая маска на Спеке - как бы часть адреса)
    именно ради ускорения и упрощения вычислений

    у меня получилось емнип около 80 тактов на пиксель в среднем для финальной отрисовки без отсечения
    это в цикле, а применив таблицы или развернув код (и без ксора) можно рисовать примерно вдвое быстрее
    (а с альтернативной раскладкой буфера или нового экрана - еще быстрее и гораздо короче)

    Цитата Сообщение от zst Посмотреть сообщение
    Два байта - это байт данных и байт маски, с помощью которых у нас будет рисоваться одна точка, а остальные 7 точек справа будут прозрачные и не закрасят слой.
    Команды Метеора оптимизированы под спрайты, а не точки.
    Рисовать будем не в стандартном экране, а выше, в новом слое графики.
    В стандартном будем рисовать как раньше.

    1 точка:
    ld hl,0
    ld (xl), hl - записать координату X (16 тактов)
    ld de,0
    ld (yl), de - записать координату Y (20 тактов)
    ld hl, 1000000000000000b - данные для рисования одной точки (10 тактов)
    ld (meteor_data), hl

    2 точка:
    ld hl,1
    ld (xl), hl - записать координату X (16 тактов)
    ld de,0
    ld (yl), de - записать координату Y (20 тактов)
    ld hl, 1000000000000000b - данные для рисования одной точки (10 тактов)
    ld (meteor_data), hl
    жуть кошмарная для "быстрой видеокарты" (c)

    а вот как эти же два пикселя можно вывести на стандартном медленном Спектруме:
    ld hl,$4000
    set 7,(hl)
    set 6,(hl)
    40 тактов!!

    самая (?) же быстрая процедура установки точки по произвольным новым координатам - только 58 тактов

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

  10. #9

    Регистрация
    14.05.2015
    Адрес
    г. Харьков, Украина
    Сообщений
    2,940
    Спасибо Благодарностей отдано 
    150
    Спасибо Благодарностей получено 
    302
    Поблагодарили
    171 сообщений
    Mentioned
    4 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Имея карту с таким гигантским объемом памяти частотами и ресурсами ! Вообще лучший вариант загрузил сразу всю графику в карту, картинки, спрайты, шрифты, и прочее, а дальше команду в окне регистров карты

    Nesser, Lethargeek зачем так все сложно зачем мучить одно место (моск) ,не надо слои, и остальной огород, например режим карта с 256X192 и 8 битным цветом на точку, это экран 48 кб для такой карты мелочь, пример для переделки игр, что скажете ?

    Вся графика уже загружена в карту и мирно там лежит все время по полочкам (банкам) -
    банки имеют размер 64кб этого всегда хватит даже для картинки размером в полный экран 48кб , а в поле 64кб очень удобно работать одной регистровой парой !
    ;---------------------------------------------------------------------;
    сохранили стек
    LD SP,sprite ;установили стек в массив команд карты
    POP HL
    LD (#3A00),HL ;регистр карты который задает в экране карты адрес начала вывода спрайта (либо если сделать два режима по адресам или точкам будет задавать по точкам 256 на 192 как раз будет старший байт координата по точкам X , младший байт Y)
    POP HL
    LD (#3A02),HL ;регистр карты который задает номер банка памяти (1 например) в карте в которой загружена наши графика
    POP HL
    LD (#3A04),HL ;регистр карты который задает где лежит спрайт в памяти карты (можно задавать банки 1,2,3 и т.д.) в карте, банк будет размером 64кб удобно!
    POP HL
    LD (#3A06),HL ;регистр карты который задает размер спрайта X,Y
    POP HL
    LD (#3A08),HL ;регистр карты который задает команду карте перекинуть спрайт из памяти карты в экран карты
    восстановили стек

    sprite DEFB
    #0000 адрес в экране карты куда будет перекинут спрайт
    #0001 номер (1) банка размером 64кб где лежит наш спрайт с которым сейчас работаем
    #8000 адрес спрайта в банке 1 памяти карты
    #0808 размер спрайта X,Y
    #0001 1- команда перекинуть спрайт
    ;------------------------------------------------------------------;

    Учитывая частоты карты, спрайт мгновенно на экране.
    А еще более изумительный вариант, будем считать что выше написанное это кидать не в экран, а в буфер экрана карты, а потом по команде в какой то регистр подготовленный буфер перекидывается в экран,

    КРАСОТА, СКОРОСТЬ, ПРОСТОТА !!! Именно для переделки старых игр, так как мы освободим память ZX и код игры в плане управления координат графики в старой игре не надо трогать, в нужном месте только поставить то, что я привел ! Сказка для переделки старых игр c новой графикой ! Надо только загрузчиком загрузить с диска новую графику в карту, в игре минимум изменений и они очень очень простые !

    Что то подобное и для точек, линий. Та же элита , на этапе когда мы получили в игре код координат линии на экране X,Y , мы в коде где должна рисоваться эта линия ставим свой код типа вышеприведенного но для работы с линиями а не спрайтами, и задаем новый цвет и т.д. и вот новая раскрашенная элита !

    ZST что скажите, зачем спеку с 3.5мГц экран фул шд ? Это тогда надо называть карта для статической графики. А если концепт изменению не подлежит, скажите, вам голову не будут морочить.

    PS правил по мере мыслей.
    Последний раз редактировалось JV-Soft; 30.09.2016 в 04:40.
    Увы общий формат форума вышел из рамок моего любимого места , более тут не бываю.

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

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

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

Похожие темы

  1. Ответов: 17
    Последнее: 26.12.2015, 23:22
  2. Ответов: 19
    Последнее: 30.09.2011, 03:08
  3. Ответов: 0
    Последнее: 15.08.2010, 14:38
  4. Ответов: 18
    Последнее: 27.08.2008, 20:27
  5. Ответов: 6
    Последнее: 20.11.2007, 11:29

Ваши права

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