1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Есть ли EGA игры (программы) с custom palette в low-res EGA?

Тема в разделе "Hard & Soft", создана пользователем Dimouse, 17 ноя 2009.

  1. Dimouse King of Mice

    Dimouse

    Администратор Переводчик

    Регистрация:
    18 апр 2003
    Сообщения:
    34.668
    Интересная тема, поднятая в статье на Prehistoric 2: http://www.old-games.ru/forum/showthread.php?t=37402&page=2
    Есть ли такие примеры? Я вот был уверен что есть, но по памяти приходят в голову только hi-res (KOEI), либо оказываются со стандартной. Кое-что удалось в интернете нарыть, но еще не проверял:
    Ivan Ironman Stewart's Off-Road
    Zak Mckracken

    Еще мне показался очень подозрительным скриншот титульника Neuromancer'а.
    Позже все это проверю (сейчас на работе), но хотелось бы уже сейчас услышать комментарии знатоков.
     
  2.  
  3. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    По пунктам:
    • в Ivan Ironman Stewart's Off-Road, очевидно, сделано как в первых Гоблинах — в VGA-режиме картинка 16-цветная, но палитра программируется напрямую через VGA-регистры. Кстати, на moby есть и чисто EGAшные скриншоты.
    • в Zak McCracken я что-то особого буйства красок не заметил — стандартная палитра.
    • а в Neuromancer просто качественный пиксель-арт, но всё та же стандартная палитра.
    (Если что, всё вышенаписанное основано на скринах с mobygames.)

    Так что никуда не деться — выбор из 64-х цветов на EGA в низком разрешении физически невозможен.
     
  4. Dimouse King of Mice

    Dimouse

    Администратор Переводчик

    Регистрация:
    18 апр 2003
    Сообщения:
    34.668
    MisterGrim, посмотрел сейчас все основные игры с поддержкой ЕГА на моби (потратил пару часов) - печально, но факт:( - кастом палитры в ега low-res у них нет. Есть игры вроде Bubble Bobble и других японцев, которые как будто бы используют нестандартные 16 цветов, но если в досбоксе выставить EGA видеорежим, то превращаются в обычные. Даже SQ3, который по моей памяти буйствовал красками - оказалось там добиваются такого эффекта путем рисования "решеточкой", то есть в шахматном порядке перемешивают два цвета. Так можно довольно много оттенков одного цвета достичь: см. http://www.mobygames.com/game/dos/s...rates-of-pestulon/screenshots/gameShotId,784/

    Но:
    1. Ivan Ironman Stewart's Off-Road я не случайно упомянул, так как прочитал на википедии, что это единственный реально подтвержденный факт использования EGA custom палитры в low-res. Там даже два экзешника (кроме VGA) есть - EGA16 и EGA64, что как бы говорит само за себя. Под досбоксом правда судя по всему не работает, так как EGA64 просто уродско показывает одинаковые цвета.

    Почему же физически? Сам же говоришь, что так делали только для поддержки CGA мониторов.

    P.S. Еще во время поисков наткнулся на интересную судя по скриншотам игру http://www.mobygames.com/game/dos/if-it-moves-shoot-it/screenshots
    У нас на сайте нет, надо бы обратить внимание:)
     
  5. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    На википедии я что-то не нашёл, проверил сам. Получилось вот что:
    GAME /EGA16:
    [​IMG]

    GAME /EGA64:
    de1691c210b4e051e24ea4a1c53ab51a.png

    Никакого уродства нет, просто разная подборка цветов. Но палитра всё та же!
    Я не совсем точно выразился. Не так делали, а так сделано для поддержки CGA. Подробнее написано всё на той же вики: http://en.wikipedia.org/wiki/Enhanced_Graphics_Adapter#Specifications.
     
  6. Dimouse King of Mice

    Dimouse

    Администратор Переводчик

    Регистрация:
    18 апр 2003
    Сообщения:
    34.668
  7. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Там сплошные предположения. По порядку:
    Как я понял, имеются в виду 64 цвета в одном кадре. Да, такое возможно (как и 262144 цвета на VGA), но только в высоком разрешении, опять же.
    Ещё раз. VGA — это не EGA!
    ...
    Нет, там дальше идут уже конкретно фантазии. Я же могу сказать следующее: совместимость с CGA в EGA подразумевается аппаратная. Это значит то, что если мы подключим CGA-монитор к EGA-карте, она обязана выдавать сигнал, аналогичный CGA-адаптеру. А это, в свою очередь, означает то, что использовать Secondary Red мы не можем вообще (с риском спалить карту), Secondary Green превращается в бит яркости (спектрумисты помнят! кстати, CGA-монитор без переделок подключается к стандартному спектруму).
    И в отличие от предположений автора вышеуказанной статьи, я проверял это всё на реальном EGA-адаптере (и могу вспомнить поподробнее, если интересно).
    Единственный способ, который мне представляется возможным, это переключение адаптера в 400-строчный режим (причём я не уверен, что это возможно даже через регистры), затем установка удвоения строк (что опять же на EGA очень сомнительно), ну и затем программирование цветов по своему вкусу. Но: 400 строк мы можем выдать только на VGA-монитор. А это уже в лобом случае жутчайший нестандарт.


    ---------- Добавлено в 04:08 ---------- Предыдущее сообщение было написано в 04:05 ----------


    И — теоретически — EGA тоже, опять-таки в силу двухсторонней совместимости (но не проверял, в отличие от CGA).
     
    Dimouse нравится это.
  8. daventry

    daventry

    Переводчик

    Регистрация:
    19 апр 2005
    Сообщения:
    1.309
    Да... Ну, вы тут и нафантазировали.
    Понятие высокое или низкое разрешение - относительно. Есть стандартные видеорежимы. Они стандартизованы на уровне функций BIOS'а, вплоть до VGA.
    Графические режимы:
    4 - 320х200, 4 цвета, CGA
    5 - 320х200, 4 оттенка серого, CGA
    6 - 640х200, 2 цвета, CGA
    8 - 160х200, 16 цветов, PCJr
    9 - 320х200, 16 цветов, PCJr
    10 - 640х200, 4 цвета, PCJr
    13 - 320х200, 16 цветов, EGA
    14 - 640х200, 16 цветов, EGA
    15 - 640х350, 4 оттенка серого, EGA
    16 - 640х350, 4 или 16 цветов, EGA
    17 - 640х480, 2 цвета, VGA
    18 - 640х480, 16 цветов, VGA
    19 - 320х200, 256 цветов, VGA

    Аппаратная палитра есть только в CGA. В EGA в 16-ти цветной палитре может быть любой цвет из возможных 64-х. Варианты цветов кодируются 6-ю битами, отсюда - 64 возможных цвета. Каждый пиксель на экране в режимах ЕGA кодируется максимально 4-мя битами, отсюда - 16 возможных цветов. Это максимально. Больше, чем 16 в EGA быть не может.
    2 MisterGrim. Режима в 400 строк не существует.
    И не воспринимайте Вики, как последнюю инстанцию. Статьи там зачастую пишут, кто не поподя. Это не энциклопедия в классическом понимании.
     
    AndyFox нравится это.
  9. Dimouse King of Mice

    Dimouse

    Администратор Переводчик

    Регистрация:
    18 апр 2003
    Сообщения:
    34.668
    daventry, вы наверное не поняли вопрос:
    1) существуют ли игры или программы в EGA lo-res режиме (320 на 200) с custom palette (а именно, как вы сказали, любые из 64 цветов, не default CGA-шные).
    2) если нет - почему и возможно ли это в принципе.

    Объяснение MisterGrim'а разумное, но почему бы не сделать игру которая работает только на EGA мониторах и не работает на CGA - я лично не понимаю. Тем более что hi-res режимы EGA, насколько я понимаю, только так и работают.
     
    AndyFox нравится это.
  10. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Больше, чем 16 одновременно — не может. И то с оговорками (никто не мешает менять палитру в течении одного кадра).
    Официально, конечно, нет. Но емнип, количество строк в EGA можно в некоторых пределах менять (вопрос только, в каких). Впрочем, это как раз действительно фантазирование.

    Потому что это аппаратно невозможно. Потому что EGA-монитор в low-res режимах фактически идентичен CGA-монитору.

    К вики я обратился для простоты, чтобы не изобретать описание велосипеда из головы :). Если надо — можно найти более серьёзные источники.
     
    AndyFox нравится это.
  11. daventry

    daventry

    Переводчик

    Регистрация:
    19 апр 2005
    Сообщения:
    1.309
    Dimouse.
    В адаптере EGA палитра аппаратно не зафиксированна. Ни в каком режиме. Есть 4 набора цветов (палитры) по умолчанию.
    Наиболее распространенный режим в EGA играх: 13 - 320х200, 16 цветов.
    Разработчик может выбрать любую из 4-х палитр с цветами по умолчанию. Либо, при желании, можно задать всем цветам палитры произвольные цвета из всего набора в 64. Можно задавать даже совпадающие цвета и таким образом объекты, например, могут мгновенно исчезать с экрана, сливаясь с фоном. Апппаратных ограничений на выбор цветов составляющих палитру в EGA нет. Это касается режимов 13, 14, 16. Немного другая история с режимом 4. Там эмуляция CGA и, соответственно, эмуляция палитр CGA, но этот режим нас не интересует.
    Вопрос я понял, но как ты это представляешь на практике? Выискивать на экране пиксели нестандартного цвета, не входящего в палитру по умолчанию? Больше чем уверен, что грамотные разработчики используют цвета из другой палитры для создания визуальных эффектов.

    MisterGrim
    Конечно, можно программировать монитор аппаратно через порты и задавать произвольное количество строк в развертке. Но на это никакой разработчик не пойдет. Велик риск физически испортить оборудование клиента. Хотя один пример я точно знаю, AutoCad под DOS, версии до 10-ой: там драйвера управляют монитором на физическом уровне.
     
  12. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Опять двадцать пять. Повторяю: в low-res режимах палитра именно зафиксирована, точнее, выбор возможен только из 16 CGA-цветов. И сделано это для совместимости с CGA, в частности, чтобы EGA-монитор можно было подключить к CGA-адаптеру.
    Собственно, это можно опровергнуть единственным скриншотом, но его пока как-то не нашлось.
    А почему нет? Есть же пипетка.
     
  13. daventry

    daventry

    Переводчик

    Регистрация:
    19 апр 2005
    Сообщения:
    1.309
    Опять 27. ;)
    Что ты подразумеваешь под low-res?
    Список режимов я привел. Какой номер режима?
    CGA монитор несомненно можно подключить к EGA адаптеру. Но CGA в принципе поддерживает только 4 цвета в графике. Поэтому EGA игрушки не пойдут а EGA режимах (13, 14. 16). Если в игре есть драйверы для CGA, то это режим 4 - 320х200, 4 цвета. EGA этот режим эмулирует.
    Но Dimouse имел в виду именно 16-ти цветные режимы, как я понял.
    Что за пипетка? Не встречал.
     
  14. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Да ну? Всего четыре? А возможность выбора цвета 0 из 16-ти возможных? А 160x200?
    В режиме 10h — естественно, не пойдут. В 0Dh и 0Eh — пойдут, со всеми цветами.

    В любом графическом редакторе.
     
  15. daventry

    daventry

    Переводчик

    Регистрация:
    19 апр 2005
    Сообщения:
    1.309
    Давай разделим понятия адаптер и монитор. Как таковых, нет мониторов CGA или EGA. Есть цифровые графические мониторы с определенным разрешением и поддержкой режимов определенных графических адаптеров. Если твой монитор поддерживает режим 8, то это уже не CGA. CGA адаптер имеет только 7 видео режимов. И это не теоретическое утверждение, я работал на XT c адаптером CGA и соответствующим монитором (и монохромным и цветным). 8, 9, 10 - это экзотические режимы. В нашей стране таких не было компов (ну, может и был один PCjr на 200 млн. человек :), но вряд ли).
    Да фон ты выбираешь произвольно из 16-ти, но всего на экране, все равно 4 цвета.
    Режимы 0Dh и 0Eh - это родные Ega-шные режимы. Естественно тут 16 цветов и палитру можно формировать из произвольных цветов.
    С графическими редакторами не очень у меня. И все равно, это пиксель хантинг, нудно и долго.
     
  16. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Нет мониторов «с поддержкой графических режимов». Есть мониторы:
    • с RGBI-входом и частотой строчной развёртки 15,7КГц — это CGA-мониторы;
    • и есть мониторы с двумя режимами работы: первый — аналогичный CGA, и второй — с 6-битным цифровым входом и частотой развертки 21,8КГц, и это EGA-монитор.
    Всё. Какой на экране видеорежим, сколько в нём одновременно используется цветов — монитор не знает, да и не может знать. Единственный параметр, влияющий на режим работы монитора — количество строк (кто настраивал иксы, знает).
    И как насчёт текстовых режимов? Там ведь все 16 цветов. Только не надо про различия текстовых и графических режимов — монитору на это плевать.

    Кстати, я тоже работал на XT с CGA.
     
  17. Dimouse King of Mice

    Dimouse

    Администратор Переводчик

    Регистрация:
    18 апр 2003
    Сообщения:
    34.668
    daventry, давай-давай:) Я уже написал что два часа потратил, но не нашел такого скриншота:) Так может тебе повезет:)
    А вот примеров CGA с "custom палитрой" (когда используются не стандартные голубой-розовый) - хоть отбавляй. Предлагаю тоже найти на мобигеймзе самостоятельно. Да можно хоть Alley Cat вспомнить, неужели не играл? http://www.mobygames.com/game/pc-booter/alley-cat/screenshots
    Кстати, не обязательно пользоваться пипеткой, скриншоты на мобигеймзе в отличие от нашего сайта - нормальные гифки (практически нормальные, за тем исключением что у них вместо оттенков 55 AA FF - 54 A8 FC (кстати, MisterGrim, не знаешь что это такое? - оттенки на других мониторах, NTSC каких-нибудь?). Открываешь gif любым нормальным редактором и смотришь палитру.
     
  18. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Небось конвертировали в 24 бита и обратно. На моби вообще оригиналы — для многих скриншотов превьюшки сделаны в 48-битном (!) PNG.
     
  19. Dimouse King of Mice

    Dimouse

    Администратор Переводчик

    Регистрация:
    18 апр 2003
    Сообщения:
    34.668
    Сейчас еще немного на эту тему подумал, есть следующие мысли:
    во-первых, у нас есть три более-менее независимых ступени: 1) софт, программирование под данные видеорежим, 2) железо, адаптер, 3) собственно монитор.
    Начнем с третьего пункта. Раз у EGA монитора есть 6-битный вход, то логично, что он может показывать любой из 64 цветов в том числе и в 320 на 200. MisterGrim, будешь это оспаривать? :)
    Адаптер - тут ничего непонятно, одни фантазии.
    Программно - тут можно легко проверить. Взять какой-нибудь BGI драйвер и написать простенькую программку, которая меняет палитру в данном видеорежиме. Скорее всего ограничений нет.

    Теперь нужно подумать, как поставить эксперимент. Нужен ли для этого EGA адаптер и EGA монитор? Будет ли эксперимент чистым, если наша программа, которая меняет цвета в данном EGA-ном видеорежиме будет запускаться на VGA адаптере и VGA мониторе?
     
    Последнее редактирование: 19 ноя 2009
  20. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Ага, похоже, я несколько заблуждался:
    То есть физически возможность есть.

    А здесь ограничения есть, сам пробовал. Ну и опять же, неужели ни одной игры не было бы написано, будь такая возможность.

    Конечно, нет — мы ведь проверяем EGA-монитор.

    Кстати, вот вам пример того, что бывает, когда EGA-игру пишут на VGA-адаптере без проверки:
    Monster Bash (VGA):
    [​IMG]

    Monster Bash (EGA):
    fd10c861f8e3eced05cefd8e164a3f94.png

    Результат: фейл.
     

    Вложения:

    • Bash_EGA.png
      Bash_EGA.png
      Размер файла:
      8,1 КБ
      Просмотров:
      589
    • Bash_VGA.png
      Bash_VGA.png
      Размер файла:
      8,2 КБ
      Просмотров:
      710
    Последнее редактирование: 19 ноя 2009
    Dimouse нравится это.
  21. Dimouse King of Mice

    Dimouse

    Администратор Переводчик

    Регистрация:
    18 апр 2003
    Сообщения:
    34.668
    А ты под чем программировал? BGI использовал или нет? Если через BGI - может стоит напрямую в регистры писать?

    Ну так мы же уже выяснили, что монитор должен работать. Так что надо проверить адаптер, а у ВГА по идее совместимость с ЕГА. Картинки к сожалению посмотреть не могу - радикал заблокирован.
     
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление