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%
Опрос с выбором нескольких вариантов ответа.
Страница 76 из 109 ПерваяПервая ... 727374757677787980 ... ПоследняяПоследняя
Показано с 751 по 760 из 1084

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

  1. #751

    Регистрация
    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. Отправить эти два байта, и при этом как понимаю надо дергать какие то регистры карты.
    и так по кругу

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

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

  3. #752

    Регистрация
    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"

  4. #753

    Регистрация
    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 нужная область, так ?
    Увы общий формат форума вышел из рамок моего любимого места , более тут не бываю.

  5. #754

    Регистрация
    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"

  6. #755

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

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Забудьте про адреса на экране - будем использовать координаты.
    По координатам точек ? а зачем тогда за координатой каждой точки засылать каждый раз два байта цвета ?
    В общем думал, что понял принцип, но понял, что не понял.
    Поэтому и прошу конкретный полный пример.

    Вот возьмем

    LD hl,#4000
    LD a,#80
    ld (hl),a

    Это у нас в спековском экране поставит точку с координатами 0,0 (верхний левый угол)

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

  7. #756

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

    По умолчанию

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

    Вот возьмем

    LD hl,#4000
    LD a,#80
    ld (hl),a

    Это у нас в спековском экране поставит точку с координатами 0,0 (верхний левый угол)

    Можете не упрощнно, а на асме дать пример для вашей карты который сделает тоже самое. Выведет одну точку в 0,0
    Два байта - это байт данных и байт маски, с помощью которых у нас будет рисоваться одна точка, а остальные 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
    Последний раз редактировалось zx-kit; 29.09.2016 в 17:59.
    "L-256"

  8. #757

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

    По умолчанию

    zst, Уже понятнее , а каковы в таком случае значения xl, yl, meteor_data
    И для чего тогда окно 256 байт и 256 адресаций регистров ?
    Увы общий формат форума вышел из рамок моего любимого места , более тут не бываю.

  9. #758

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

    По умолчанию

    Цитата Сообщение от JV-Soft Посмотреть сообщение
    zst, Уже понятнее , а каковы в таком случае значения xl, yl, meteor_data
    И для чего тогда окно 256 байт и 256 адресаций регистров ?
    Это адреса 256 регистров:
    xl equ #3A00
    xh equ xl + 1
    yl equ xh +1
    yh equ yl + 1
    ...
    Это адреса окна 256 данных:
    meteor_data equ #3B00 или equ xl + 256
    ...
    Можно писать по любому из 256 адресов. Можно писать по одному адресу. Можно настроить ldir на первый адрес и писать блоками по 256 байтов.
    Последний раз редактировалось zx-kit; 29.09.2016 в 18:29.
    "L-256"

  10. #759

    Регистрация
    05.03.2013
    Адрес
    г. Канев, Украина
    Сообщений
    1,596
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    3 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    ld hl,xl
    ld b,0
    ld a,b
    1: ld (hl),a
    inc a
    djnz 1

    линия из 256 точек получится?

  11. #760

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

    По умолчанию

    Цитата Сообщение от Hacker VBI Посмотреть сообщение
    zst, а если

    ld hl,xl
    ld b,0
    ld a,b
    1: ld (hl),a
    inc a
    djnz 1

    линия из 256 точек получится?
    Нет, после inc a надо добавить:
    ld hl, 1000000000000000b - данные для рисования одной точки (10 тактов)
    ld (meteor_data), hl
    "L-256"

Страница 76 из 109 ПерваяПервая ... 727374757677787980 ... ПоследняяПоследняя

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

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

Эту тему просматривают: 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

Ваши права

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