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

User Tag List

Показано с 1 по 10 из 243

Тема: Идея простого расширения стандартного видорежима

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Guru Аватар для Lethargeek
    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,587
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    284
    Спасибо Благодарностей получено 
    237
    Поблагодарили
    186 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb Идея простого расширения стандартного видорежима

    ВНИМАНИЕ! СЛЕДУЮЩИЕ ИДЕИ СЧИТАТЬ УСТАРЕВШИМИ. НОВЫЙ
    ВАРИАНТ ИСКАТЬ НА СТР. 14-15 ПОД ЗАГОЛОВКОМ "NEW SCF-MODE"


    А ЕЩЕ ДАЛЬШЕ ИСКАТЬ ПОСЛЕДНЕЕ ВЛОЖЕНИЕ С ОРИЕНТИРОВОЧНЫМИ
    СПЕЦИФИКАЦИЯМИ ВИДЕОКАРТЫ.


    ВCТУПЛЕНИЕ

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

    Но если с мозгами и всякой периферией дело обстояло более-менее благополучно, то
    самая главная болячка народного компа продолжает существовать в неизменном виде
    уже третий десяток лет. Я, конечно, про экран говорю.

    Нет, что-то уже появлялось, какие-то режимы делались новые (каждый производитель
    так и норовил выдумать свой вариант) - высокое разрешение, EGA-режим (на 32 кб!),
    мультиколор аппаратный (от которого проку нуль), гигаскрин (который и не видеорежим
    вовсе, а так, хитрость); даже целый Денди запихивали в несчастный Спек. В сети
    иногда на такое наткнешься - народ мечтает о Truecolor'е и 3D-ускорителях! Нда.

    Не хочу сказать, что все реализованные идеи так уж плохи. Только выглядит все это
    как-то уж совсем инородно, к собственно Спектруму никаким боком. Расширенные экраны
    или совсем по-другому устроены, или для телевизора не годятся, или еще что. Причем
    отношение производителя/автора приблизительно такое: ну вот же есть режим без всяких
    там ограничений, которые так напрягали раньше - чего вам еще нужно? А почти весь
    софт так и пишут под "голый" 128-й Пентагон. Ну под GS там еще. Ну память лишнюю
    используют иногда. Но другие видеорежимы - неееет!

    Есть, конечно, какие-то программы. Системные. Или вообще под CP/M. И для чего они?
    Для профессионального применения? Еще кто-то профессионально юзает Спек? Флаг им в
    руки, конечно, но все же знают, что для подавляющего большинства Спек уже только
    хобби и не более того. 90% нового софта - демы и игрушки (если не считать новым
    софтом очередную 'надцатую версию асма или редактора) - которые пишутся под тот же
    "голый" 128-й с тем же экраном. И никто их переделывать не будет, и так рады, что
    закончили. Ну разве что поддержку GS добавят.

    У меня Спека живого нет. Но вот тут слухи ходят, что новые модели Спеклонов все
    еще разрабатываются и даже планируется их выпускать. И видеорежимы дополнительные
    в них, наверное, будут. Такие же от Спека далекие.

    В связи с этим не могу молчать!!

    И главное, что хочу сказать: Спектрум сейчас нуждается в улучшении именно обычного,
    всем до боли знакомого видеорежима, причем в улучшении, логически вытекающем из
    уже давно существующей стандартной архитектуры. Ничего не имею против реализации
    нестандартных "профессиональных" видеорежимов, но говорить о том, что они РЕШАЮТ
    графические проблемы СПЕКТРУМА - неправильно.

    Попробую сформулировать основные требования к новому прибамбасу:

    1) Максимальный эффект при минимуме изменений. Как завещал дедушка Синклер - все
    должно быть дешево и сердито. (Сразу скажу, что я не железячник и не радиолюбитель
    никаким боком. Но даже такие люди могут интуитивно чувствовать сложность задачи).

    2) (Скорее первое). Все это дело должно бать поддержано софтом, иначе какой смысл.
    Софта есс-но нет. Писать софт трудно, лениво и неблагодарно. Значит, надо сделать
    так, чтобы писать было как можно легче (а в особенности переделывать, что все же
    проще - иначе не было бы на Спеке такого количества конверсий).

    3) (Снова скорее первое Минимальная несовместимость со стандартной машионй.
    Пусть даже со стандартным клоном.

    Собственно, на требованиях можно было бы и закончить (получив репутацию пустомели,
    которому только подай готовенькое). Но раз уж всякие мысли приходили в голову,
    почему бы сразу не изложить, как бы могла выглядеть конкретная реализация.


    1. УВЕЛИЧЕНИЕ ЦВЕТОВОГО РАЗРЕШЕНИЯ

    Небось, все помнят игрушки с атрибутно-красочной графикой вроде Savage, Extreme,
    Dan Dare 3, Shadow Warriors... Astro Marine Corps - самый яркий пример. Вот чего
    можно добиться, с умом распорядившись ограниченными цветовыми возможностями
    стандартного экрана! Но все-таки заметно, что спрайты довольно-таки угловатые
    (и слишком большие), а анимация дерганая.

    Вот если бы увеличить цветовое разрешение в два раза (то есть поделить знакоместо
    на четвертушки - и для каждой свой атрибут) - качество картинки сразу резко
    улучшится, угловатость практически сойдет на нет, мелкие спрайты можно раскрасить.
    И чанки цветные сделать! => и видеоролики типа Worms c удвоенным разрешением.

    Теперь о проблемах (о том, как ULA при выводе строки должна читать в полтора раза
    больше байт из-за удвоенного цветового разрешения по горизонтали - хотелось бы
    услышать мнение железячников; я, как уже говорил, рассматриваю вопрос с позиции
    программиста).

    Понятно, что понадобится больше видеопамяти (ровно 9 килобайт на весь экран); и
    залезет он на область системных переменных и Васика. Этого можно избежать, если
    использовать этот режим только для дополнительного экрана на 7 странице. Хотя
    вообще-то безобразие - ULA для разных экранов в разном режиме должна работать,
    что ли (и возможно ли это)? А если они переключаются на разных там моргалках?
    Мы пойдем другим путем.

    Предложение такое: область атрибутов (точнее, уже четыре области - четыре набора
    атрибутных "четвертушек") не привязывать жестко к одному адресу (стандартно это
    22528), а адресовать четырьмя аппаратными указателями-регистрами в пределах 16-ти
    киловой экранной страницы. Штука в том, что любые два и более указателя могут
    хранить один и тот же адрес (например, тот самый 22528). То есть сразу после
    включения имеем обычный Спековский экран и можем загружать старые проги.

    Комбинация атрибутных областей может быть любая:
    11 12 11 12 12
    11 12 22 31 34
    (соответственно стандартный атрибут; поделенный по вертикали - для мелкого шрифта;
    поделенный по горизонтали - для вертикальных скроллеров; извращенный вариант -
    например, у буквы левый нижний угол темнее, а правый верхний бликует; полностью
    расчетверенный атрибут). Это и по памяти дает экономию, если что-то излишне. Можно
    и совсем уж сэкономить: читать атрибуты из третьего сегмента экрана, а его забить
    цветом бордюра. Получаем ужатый экран с улучшенной цветностью - всего 7 кб).

    Почему указатели только в пределах страницы? Чтобы можно было их использовать и для
    второго экрана (с поправкой на страницу); да и регистров лучше все-таки поменьше
    иметь. А если располагать их только по ровным (кратным 256) адресам, то можно вообще
    обойтись одним 8-разрядным портом (то есть посылаем байт, в котором 2 бита - номер
    четверти, а 6 бит - номер 256-байтного куска - как раз 16 килобайт получается).

    Правда, Васик пострадает, ну да фиг с ним - если уж так приперло использовать все
    это из Васика, в крайнем случае можно загнать атрибуты в REM-строку).
    Последний раз редактировалось Lethargeek; 02.08.2006 в 04:42.

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

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

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

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

Похожие темы

  1. Ответов: 44
    Последнее: 19.04.2005, 20:52

Ваши права

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