User Tag List

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 24

Тема: Видеорежимы и работа с ними

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

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

    Регистрация
    01.03.2005
    Адрес
    Russia, Krasnodar
    Сообщений
    433
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от icebear
    Ну с экраном Спектрума надеюсь разобрались. А вот по поводу функций - список хотелось бы. Только не стоит фантазии давать слишком свободный полёт
    Ну, мой список вы уже видели =) Если надо более конкретно, то могу по пунктикам разложить =)

    * A custom graphics coprocessor, called the Copper, that allows changes
    to most of the special purpose registers in synchronization with the
    position of the video beam. This allows such special effects as
    mid-screen changes to the color palette, splitting the screen into
    multiple horizontal slices each having different video resolutions and
    color depths, beam-synchronized interrupt generation for the 680x0, and
    more. The coprocessor can trigger many times per screen, in the middle
    of lines, and at the beginning or during the blanking interval. The
    coprocessor itself can directly affect most of the registers in the
    other custom chips, freeing the 680x0 for general computing tasks.

    * 32 system color registers, each of which contains a 12-bit number as
    four bits of red, four bits of green, and four bits of blue intensity
    information. This allows a system color palette of 4,096 different
    choices of color for each register.

    * Eight reusable 16-bit wide sprites with up to 15 color choices per
    sprite pixel (when sprites are paired). A sprite is an easily movable
    graphics object whose display is entirely independent of the background
    (called a playfield); sprites can be displayed over or under this
    background. A sprite is 16 low resolution pixels wide and an arbitrary
    number of lines tall. After producing the last line of a sprite on the
    screen, a sprite DMA channel may be used to produce yet another sprite
    image elsewhere on screen (with at least one horizontal line between
    each reuse of a sprite processor). Thus, many small sprites can be
    produced by simply reusing the sprite processors appropriately.

    * Custom bit blitter used for high speed data movement, adaptable to
    bitplane animation. The blitter has been designed to efficiently
    retrieve data from up to three sources, combine the data in one of 256
    different possible ways, and optionally store the combined data in a
    destination area. The bit blitter, in a special mode, draws patterned
    lines into rectangularly organized memory regions at a speed of about 1
    million dots per second; and it can efficiently handle area fill.

    * Dynamically controllable inter-object priority, with collision
    detection. This means that the system can dynamically control the video
    priority between the sprite objects and the bitplane backgrounds
    (playfields). You can control which object or objects appear over or
    under the background at any time. Additionally, you can use system
    hardware to detect collisions between objects and have your program
    react to such collisions.

    Это описание из старой доброй книги Amiga® Hardware Reference Manual. В ней описан ECS, предшественник AGA. Но и этой инфы вполне достаточно, чтоб представить о чем идет речь. Если интересно - могу выложить в сети часть книги и программу для винды для просмотра amigaguide.
    Последний раз редактировалось acidrain; 26.07.2005 в 01:44.
    http://amigasc.nm.ru

    Free coder and hardwareman
    Amiga addicted

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

  3. #2

    Регистрация
    04.03.2005
    Адрес
    Ukraine, Kiev
    Сообщений
    792
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Talking

    Цитата Сообщение от icebear
    Возникли вот вопросы у меня. В клонах Спектрума есть уже куча "видеорежимов", позволяющих хоть как-от расширить графические возможности. Линейной адрессацией обладают только видеорежимы Спринтера (хотя может я ошибаюсь?). 512х192 подразумевает деление точек на чётные/нечётные и соотвественно различное местоположение в памяти. Так же это вроде сделано в АТМ. Во всех "случаях" возможна работа с этой "видеопамятью" напрямую, но из-за размера адресной шины это можно осуществить только через банки.
    Новые видеорежимы как правило не прижываются на Speccy, все привыкают к стандарту. Нужно сделать их легко-доступными, тогда будет смысл их создавать!

    Цитата Сообщение от icebear
    - это удобно с точки зрения программирования иметь экран, делённый на участки и тем самым с возможностью работы только в выбраном участке?
    Смотря как сделать выбираемые участки. Например Atari, там сделанно просто велеколепно, для каждой вертикальной линии можно задать собственный режим, то-ли цветной текст, то-ли графика в любых вариациях. Да ещё и можно указать любую точку памяти от куда брать данные. А на Atari-ST, вообще можно скорость горизонтальной развёртки давать для каждой линии разную !!!
    Думаю, что для Speccy идеально будет сделать что-то подобное, что я и делал в Wild Speccy ! Там можно всего-то в каждой линии задать свой адрес памяти для графики и для паперов, плюс цвет палитры для пикселов и не пикселов.

    Цитата Сообщение от icebear
    - скорость вывода графики приемлема при работе с участками экрана через банки?
    Приемлема, но если есть проблема с одновременным доступом к памяти процессора и видяхи, то можно сделать какой-нибудь битик в порте который выбиралбы ЧИП для записи в видео буфер. То есть пока ты пишешь что-нибудь в ПАМЯТЬ-1 вторая высвечивается на моник, после OUT'а меняются местами. И тормозов не будет, и всякие корявые программеры, любящие не задумываться о дискреции анимации, будут вынуждены по-умнеть !!!

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

    Цитата Сообщение от icebear
    - если допустить наличие такого спецпроцессора, какие функции он должен выполнять (если можно, то в виде списка)?
    Для каждой задачи по разному. А какой проц ? Если у него мощная математика, то грех не сделать 3Д. А список может быть ООООООООчень длинный. Например:

    -Возможнть аппаратного мультиколора.
    -Что-нибудь со спрайтами.
    -Изменение частоты кадров.
    -Было бы прикольно вставить рисовалку линий, можно на аппаратном уровне сделать ELIT'у да ещё и ONE-FRAME.
    -Неплохо вставить какой-нибудь декомпрессор, я имею в виду для распаковки графики в реальном времени, например: спрайтов. Я когда-то такое делал на Speccy в своей игре Mortal Kombat, она валяется где-то разобранная, но за-то на весь экран, и спрайты на 2/3!

    Многое можно придумать ... Но лучше всего самому в процессор отправлять программу. НО НЕ ИМЕТЬ ДОСТУП К ПАМЯТИ - ПЛОХО, пусть с торможениями, но лучше вдвоём, чем кто-то там в "тёмной коробочке" !!!
    AAA когда меня режут, я терплю, но когда дополняют, становится нестерпимо.

  4. #3

    Регистрация
    05.05.2005
    Адрес
    Германия
    Сообщений
    1,614
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Robus
    Новые видеорежимы как правило не прижываются на Speccy, все привыкают к стандарту. Нужно сделать их легко-доступными, тогда будет смысл их создавать!
    Тоже интересная мысль.

    Цитата Сообщение от Robus
    Смотря как сделать выбираемые участки. Например Atari, там сделанно просто велеколепно, для каждой вертикальной линии можно задать собственный режим, то-ли цветной текст, то-ли графика в любых вариациях.
    Что понимается здесь под "линией"? Линия знакомест или линия пикселей?

    Цитата Сообщение от Robus
    Да ещё и можно указать любую точку памяти от куда брать данные.
    Т.е. можно было разбить видеопамять по "кускам" и сказать видеоконтроллеру, где эти куски находятся? Что-то похоже видимо можно сделать в АТМ с его возможностью включать видеостраницы в соседних банках.

    Цитата Сообщение от Robus
    А на Atari-ST, вообще можно скорость горизонтальной развёртки давать для каждой линии разную !!!
    А зачем это? И не похоже ли это на возможности Спринтера иметь "окна" на экране в раличных разрешениях?

    Цитата Сообщение от Robus
    Думаю, что для Speccy идеально будет сделать что-то подобное, что я и делал в Wild Speccy ! Там можно всего-то в каждой линии задать свой адрес памяти для графики и для паперов, плюс цвет палитры для пикселов и не пикселов.
    Какое практическое применение есть этой сегментации видеопамяти? Wild Speccy - это клон?

    Цитата Сообщение от Robus
    Приемлема, но если есть проблема с одновременным доступом к памяти процессора и видяхи, то можно сделать какой-нибудь битик в порте который выбиралбы ЧИП для записи в видео буфер. То есть пока ты пишешь что-нибудь в ПАМЯТЬ-1 вторая высвечивается на моник, после OUT'а меняются местами. И тормозов не будет, и всякие корявые программеры, любящие не задумываться о дискреции анимации, будут вынуждены по-умнеть !!!
    Понятно. У меня по этому поводу есть своё мнение, а именно видеоконтроллер должен решать абсолютно все вопросы графики. Т.е. например роль основого процессора сводится к заданию команд видеопроцессору, а последний уже сам должен решать вопросы конфликтов и прочего. А программист не должен задумываться о дискреции анимации - это дело железки.

    Цитата Сообщение от Robus
    Конечно стоит сделать процессор, мало того, если сделаете возможность отправить ему собственную прогу и сполнить, то это будет максимально идеально. Так у меня в Wild'е.
    Похожая идея есть (или даже такая же): иметь стандартный софт для видеопроцессора но с возможностью менять его на custom.

    Цитата Сообщение от Robus
    Для каждой задачи по разному. А какой проц ? Если у него мощная математика, то грех не сделать 3Д. А список может быть ООООООООчень длинный. Например:

    -Возможнть аппаратного мультиколора.
    -Что-нибудь со спрайтами.
    -Изменение частоты кадров.
    -Было бы прикольно вставить рисовалку линий, можно на аппаратном уровне сделать ELIT'у да ещё и ONE-FRAME.
    -Неплохо вставить какой-нибудь декомпрессор, я имею в виду для распаковки графики в реальном времени, например: спрайтов. Я когда-то такое делал на Speccy в своей игре Mortal Kombat, она валяется где-то разобранная, но за-то на весь экран, и спрайты на 2/3!

    Насчёт процессора не знаю, пока я просто собираю информацию и мнения по работе с графикой на Спектруме. Что из этого выйдет - неизвестно, но GF или Radeon не выйдут точно
    Аппаратный мультиколор мне кажется абсолютно ненужным, ибо мультиколор как таковой родился из-за убогих граф. возможностей (как структура экрана, которая должен признать сделана очень умно для своего времени/целей/возможностей, так и глубина цвета).
    Изменение частоты кадров - это зачем?
    Рисовалки линий и т.п. - для реализации на аппартном уровне я глуп, программно могу, но т.к. я не пуп Земли, любой другой сможет использовать собственную реализацию.
    По поводу декомпрессора: упирается в реализацию спрайтов и их формата, пока ещё совсем рано об этом говорить.

    Цитата Сообщение от Robus
    Многое можно придумать ... Но лучше всего самому в процессор отправлять программу. НО НЕ ИМЕТЬ ДОСТУП К ПАМЯТИ - ПЛОХО, пусть с торможениями, но лучше вдвоём, чем кто-то там в "тёмной коробочке" !!!
    Да, я вижу аппетит вполне здоровый Прелесть "чёрной коробчки" в предсказуемости её поведения и стабильность. А так же некая базовая абстракция.

    Спасибо за ответ.

  5. #4

    Регистрация
    01.03.2005
    Адрес
    Russia, Krasnodar
    Сообщений
    433
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от icebear
    А зачем это? И не похоже ли это на возможности Спринтера иметь "окна" на экране в раличных разрешениях?
    Да, еще раз повторюсь - это пошло с Амиги, где можно выводить два или более экранов с разным разрешением у каждого. Там вообще хорошие спец.процы. Дело в том, что не стоит изобретать велосипед, сначала изучите опыт уже существующих наработок (пусть то будет игровая консоль или амига), а потом надо делать
    Да и существуют же чипы с 2д ускорителями, например вроде texas instruments делает такое чудо =)
    А скажите, зачем вообще нужно что-либо читать из портов видео процессора?
    http://amigasc.nm.ru

    Free coder and hardwareman
    Amiga addicted

  6. #5

    Регистрация
    16.01.2005
    Сообщений
    615
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от acidrain
    А скажите, зачем вообще нужно что-либо читать из портов видео процессора?
    Во-первых, чтобы ловить обратный ход луча (на некоторых системах нет прерывания по этому событию). Во-вторых - детект столкновений. С прерываниями, конечно, удобнее...

  7. #6

    Регистрация
    05.05.2005
    Адрес
    Германия
    Сообщений
    1,614
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от acidrain
    Да, еще раз повторюсь - это пошло с Амиги, где можно выводить два или более экранов с разным разрешением у каждого. Там вообще хорошие спец.процы. Дело в том, что не стоит изобретать велосипед, сначала изучите опыт уже существующих наработок (пусть то будет игровая консоль или амига), а потом надо делать
    По поводу изобретать велосипед: никто ничего не изобретает. Я пока собираю информацию, как хотелось бы работать с новым видеорежимом, если такой появится. Во вторых, про Амигу я знаю и про её возможности тоже. Но вот делать недоАмигу из Спектрума не стоит. Никто не будет разрабатывать спец. чипы, ибо это стоит знаний (это меня касается), времени, денег и ОГРОМНОГО желания. Начинать нужно с малого.

    Цитата Сообщение от acidrain
    Да и существуют же чипы с 2д ускорителями, например вроде texas instruments делает такое чудо =)
    Использование сторонних чипов тянет за собой некоторые ограничения, самое главное - жизненый цикл чипа, если его перестанут выпускать, то можно лавку закрывать сразу. Второе - это согласование чипа с имеющейся системой, т.е. со Спектрумом.

    Имхо, на существующие разработки стоит смотреть только для того, что бы узнать, как их используют и какая часть предоставленых возможностей используется на все 100%. Из этих крупиц составить ТЗ, но и ограничивая собственную фантазию, потому что придумать можно много, а вот реализовать мало.

    Цитата Сообщение от acidrain
    А скажите, зачем вообще нужно что-либо читать из портов видео процессора?
    А как хост-системе обращаться с видеопроцессором? Как пример, дать видеопроцессору команду и прочитать из порта результат. Это легче и быстрее, чем организовывать прозрачный доступ обоих узлов к общей памяти. Я могу конечно и ошибаться.

  8. #7

    Регистрация
    01.03.2005
    Адрес
    Russia, Krasnodar
    Сообщений
    433
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    @icebear:

    Понимаю, я ведь начинающий схемотехник, посему о некоторых тонкостях могу лишь догадываться. Считал, что 2д ускоритель от какого нибудь карманника будет выходом из положения. Но видимо ошибся.
    Спасибо за наиболее полный ответ. =)
    http://amigasc.nm.ru

    Free coder and hardwareman
    Amiga addicted

  9. #8

    Регистрация
    01.03.2005
    Адрес
    Russia, Krasnodar
    Сообщений
    433
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Robus
    А на Atari-ST, вообще можно скорость горизонтальной развёртки давать для каждой линии разную !!!
    Это, скорее всего на машинах (Атари-СТ), на которых стоял AGA. Т.е. амижные спец.процы.
    http://amigasc.nm.ru

    Free coder and hardwareman
    Amiga addicted

  10. #9

    Регистрация
    09.04.2005
    Адрес
    Красногорск, Московская область
    Сообщений
    281
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от acidrain
    Это, скорее всего на машинах (Атари-СТ), на которых стоял AGA. Т.е. амижные спец.процы.
    Гм. Начнем с того, что в амиге спецпроцессор называется "блиттер", а не "близзард", как ты указал выше.
    И в Атари никогда не ставились амижные сопроцессоры. Это из области научной фантастики.

  11. #10

    Регистрация
    01.03.2005
    Адрес
    Russia, Krasnodar
    Сообщений
    433
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от megabyte
    И в Атари никогда не ставились амижные сопроцессоры. Это из области научной фантастики.
    Согласен, ошибся в попыхах написал не то. А вот историю атари предлагаю почитать.
    Вот цитата:
    Кроме того на Atari ST и Atari STFM можно было установить дополнительно амиговский спецпроцессор “блиттер” - он очень быстро рисовал точки и прямоугольники. На Atari Ste блиттер стоял изначально, но игр поддерживающих его было до обидного мало. Атариевские программисты предпочитали вешать всю графику на центральный процессор Motorolla 68000 8 Mh ( на AMIGA 68000 7 Mh). На STE можно было устанавливать 30-пиновую память SIMM доведя стандартый 1 Mb до 4.
    Последний раз редактировалось acidrain; 26.07.2005 в 11:59.
    http://amigasc.nm.ru

    Free coder and hardwareman
    Amiga addicted

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Работа с трекерными модулями на ZX
    от Bulba в разделе Программирование
    Ответов: 53
    Последнее: 03.12.2017, 16:02
  2. Работа с STS5.7
    от DemiChron в разделе Программирование
    Ответов: 3
    Последнее: 24.07.2005, 21:14
  3. Ответов: 7
    Последнее: 26.05.2005, 00:27
  4. работа с образами HDD в Unreal Speccy
    от elf в разделе Эмуляторы
    Ответов: 15
    Последнее: 30.03.2005, 18:22

Ваши права

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