GSM – Graphics Synthesizer Mode SelectorCreated by doctorxyz, translated by efokinИсточник: http://narod.ru/disk/52107420001.7fc1928804d13e3e76f3f9e8f78be51f/ps2faq1.94.chm.html
Вопрос
Можно, чтобы GSM загружался автоматически или запускать его, удерживая нажатой заданную кнопку при загрузке FMCB ?
Ответ
Нет, но GSM может быть запущен автоматически из uLE. Те, кто использует режим VGA, могут настроить FMCB для автозагрузки uLE и далее использовать uLE для автозагрузки GSM в предустановленном режиме VGA (в слоте 00).
Вопрос
Кто-нибудь может показать пошагово, как переключаться между черезстрочными видеорежимами (режимами, которые работают при композитном или S-Video подключении), например, из PAL в NTSC. Или, например, из NTSC в PAL (SCART кабель)?
Ответ
Переключение между стандартными видеорежимами (SDTV) достаточно простое. Все что требуется сделать при запуске программы, это либо дождаться пока не исчезнет заставка, либо нажать любую кнопку, чтобы заставку убрать.
Тогда вы попадете в основной экран GSM, где будет вся необходимая информация в виде текста. Здесь, нажав кнопку 'Кружок', вы загрузите предустановленные параметры для первого варианта SDTV, т.е. для NTSC. Но автоматически режим не активируется. Далее надо нажать кнопку 'Стрелка вниз', тогда текущий выбранный режим активируется принудительно. Это должно визуально отобразиться в меню.
Также можно заставить GSM переключаться сразу в выбранный режим при следующих запусках (после того, как исчезнет заставка при старте). Для этого надо сохранить параметры NTSC в первом слоте массива, где хранятся предустановленные параметры. Этот массив позволяет хранить до 16 различных режимов, а первый слот (номер 00), кроме всего прочего, используется для инициализации экрана при каждом запуске программы. В итоге, если вы хотите использовать режим приставки по умолчанию, вы не должны использовать первый слот массива, но если необходимо принудительно переключиться в выбранный режим при старте программы, следует использовать этот слот.
Попав в основной «текстовый» экран GSM (и нажав последовательно кнопки 'Кружок' и 'Стрелка вниз'), можно сохранить выбранный режим в слот 00, нажав кнопки R2 и 'Стрелка вверх' одновременно. Эта комбинация сохраняет текущий выбранный режим в текущий слот массива (при запуске программы текущим является слот 00). Далее следует нажать комбинацию R2 и L2, чтобы сохранить весь массив в конфигурационный файл на карту памяти, рядом с программой GSM. Таким образом, сохраненные установки будут загружены при последующих запусках программы непосредственно после того, как исчезнет экран заставки.
Вопрос
Как я могу загрузить сохраненный режим в GSM?
Я использую GSM, чтобы переключить игру Tomb Raider Underworld (игра PAL) в режим NTSC, но каждый раз, когда я собираюсь поиграть, приходится все настраивать заново.
Я сохранил параметры нужного мне режима (используя R2 + L2, правильно?), но при следующем запуске я не знаю, как их загрузить.
Ответ
R2+L2 это правильная команда в данном случае.
А точнее, это команда, которая записывает файл GSM.CNF.
Этот GSM.CNF файл может хранить до 16 различных 'слотов', куда записаны параметры видеорежимов, и при каждом следующем запуске GSM все эти слоты загружаются из этого CNF файла в оперативную память, где ожидают команды включения. При этом параметры режима записанного в слот 00, будут включены автоматически при запуске GSM.
Это те самые слоты, на которые ссылается текст на экране: "Current User Slot:00".
С помощью кнопок 'R2+Стрелка вправо' можно увеличить текущий номер слота (после 15 снова переключится на 0).
А с помощью 'R2+Стрелка влево' можно уменьшить номер (после 0 переключится на 15).
Комбинация 'R2+Стрелка вверх' сохраняет текущий режим в текущий слот.
Комбинация 'R2+Стрелка вниз' загружает видеорежим из выбранного слота.
Следует иметь в виду, что загруженный из слота видеорежим при этом не активируется, то есть его можно слегка подстроить перед активацией (для выполнения активации просто нажимается кнопка 'Стрелка вниз').
Используя эти команды, вы легко сможете манипулировать (и когда надо активировать) 15-ю различными видеорежимами в дополнении к основному, записанному в слот 00 для автоматической активации.
Необходимо только не забывать использовать комбинацию R2+L2 для сохранения измененных параметров, чтобы они легли в файл GSM.CNF.
Вопрос
Есть ли способ сохранить текущий настройки? Я вынужден настраивать все заново при каждом запуске PS2… довольно утомительно это дело…
Ответ
Если вы используете текущую версию v0.23x, обратите внимание на строку-подсказку в самом низу основного экрана, которая четко говорит:
"[L2]+[R2] Save all slots + current 'Exit to' option to mc"
(перевод: "[L2]+[R2] Сохраняет все слоты и значение опции 'Exit to' на карту памяти")
Это означает запись в конфигурационный файл "mc0:/BOOT/GSM.CNF".
То есть, если нажать и удерживать обе кнопки L2 и R2 одновременно, конфигурационный файл будет сохранен.
Но судя по тому, что вы этого не знали, то, вероятно, вы не в курсе как вообще пользоваться массивом слотов для хранения видеорежимов. Могу рассказать и об этом тоже...
В дополнение к текущим параметрам видеорежима, которыми вы можете напрямую манипулировать, GSM еще поддерживает массив из 16 слотов, каждый из которых может хранить полный набор параметров для определенного видеорежима.
Одна из текстовых строк интерфейса программы показывает:
"CNF FILE - Current User Slot:00" и далее в скобках код видеорежима, сохраненного в данном слоте, или "(Base vmode:unused)" если слот пустой.
Нажав и удерживая кнопку R2, следует нажать одну из кнопок-стрелок, чтобы управлять слотами, как показано ниже:
· [R2]+[Left] => Уменьшает номер слота 'Current User Slot:xx' (переходит на 15 после 00).
· [R2]+[Right] => Увеличивает номер слота 'Current User Slot:xx' (переходит на 00 после 15).
· [R2]+[Down] => Загружает содержимое 'Current User Slot' в список текущих параметров видеорежима.
· [R2]+[Up] => Сохраняет значения текущих параметров в 'Current User Slot', замещая старое содержимое слота.
Имейте в виду, что при загрузке параметров из слота, вы только устанавливаете значения текущих параметров, дополнительно надо еще нажать кнопку 'Стрелка вниз' (отдельно, только эту кнопку), чтобы активировать загруженный видеорежим. Это сделано специально, чтобы пользователь мог подстроить загруженные параметры до включения этого видеорежима.
Используя перечисленные выше команды вместе с командами изменения параметров видеорежима, можно перебрать все 16 слотов и сохранить 16 различных режимов в одном массиве. Далее записать весь массив в файл "mc0:/BOOT/GSM.CNF" комбинацией [L2]+[R2].
Это файл автоматически загружается при старте GSM и если слот 00 содержит параметры какого-то видеорежима, этот режим будет автоматически активирован. Иначе сохранится видеорежим по умолчанию, в зависимости от вашей консоли (NTSC или PAL). Использование слота 00 позволяет программе стартовать в выбранном видеорежиме, это могут быть и HDTV и VGA режимы. Последний особенно важен для тех, кто использует мониторы, работающие только в VGA режиме.
Вопрос
Я хочу понять, как сбросить настройки параметров DX, DY, DW и DH для HDTV режимов 480p, 720p и 1080i? Я поэкспериментировал с ними, чтобы растянуть экран, но получилось совсем не то, что я хотел. Я хочу понять, как их можно сбросить, потому, что я после экспериментов сохранил эти параметры, нажав L2 и R2. Я думаю, что просто надо удалить файл GSM.CNF на моей карте памяти "mc0:/BOOT/", но хотел быть в этом уверенным.
Ответ
Сохраняя конфигурационный файл CNF с помощью кнопок L2+R2, вы не меняете значения параметров по умолчанию, которые используются когда вы переключаетесь на один из стандартных видеорежимов при помощи кнопок в правой части геймпада (например, кнопка 'Квадрат' для HDTV режимов). Параметры будут всегда одни и те же при выборе одного из стандартных режимов, независимо от того, какие параметры видеорежимов у вас сохранены в конфигурационном файле.
Значения параметров DX,DY,DW и DH, которые вы настроили, будут храниться в конфигурационном файле только для определенных пользователем видеорежимов.
Конечно, вы можете удалить файл CNF, чтобы избавиться от «кривых» настроек, или же отредактировать эти параметры. В вашем случае удалить файл, возможно, будет проще.
Вопрос
Я хотел бы понять правильную последовательность действий при использовании этой программы. Вот как я делаю, посмотрите правильно ли:
Запускаю GSM
Нажимаю кнопку [КВАДРАТ] для выбора настроек HDTV (в моем примере: HDTV 480p)
Нажимаю кнопку [Стрелка вниз] для включения этого режима.
Нажимаю комбинацию [R2] + [Стрелка вверх] чтобы Сохранить Слот в Память – Это является необходимым?
Нажимаю комбинацию [START] + [Стрелка вниз] чтобы выйти в PS2 Browser (согласно настройкам).
Ответ
Типовая процедура создания пользовательских видеорежимов:
1: Используйте кнопки справа на геймпаде, чтобы выбрать стандартный видеорежим
2: Настройте параметры позиции и размера, как вам требуется
3: Кнопками 'R2+Стрелка влево' или 'R2+Стрелка вправо' выберите индекс массива режимов 'User Slot:'
4: Кнопками 'R2+Стрелка вверх' сохраните текущие настройки в выбранный слот массива
5: Повторите шаги 1-4 для сохранения в разные слоты всех необходимых вам режимов
6: Нажмите кнопки R2+L2 чтобы записать файл GSM.CNF
Типовая процедура использования массива видеорежимов:
1: Кнопками 'R2+Стрелка влево' или 'R2+Стрелка вправо' выбирается требуемый индекс массива видеорежимов 'User Slot:'
2: Кнопками 'R2+Стрелка вниз' загрузите параметры режима из выбранного слота
3: Кнопкой 'Стрелка вниз' (отдельно, только эта кнопка) включите видеорежим в соответствие с загруженными из слота параметрами
4: Используйте комбинацию 'Start+Стрелка вниз' чтобы выйти в DEV1 elf (== uLE в настройках FMCB)
(Предполагается, что вы настроили в GSM такой режим выхода, с помощью комбинации 'Start+Стрелка вверх' или в файле CNF)
Вы можете выполнить все эти шаги, но в результате, когда GSM закончит работу, все параметры останутся по умолчанию.
Эти шаги для вас вообще не имеют особого смысла, так как вы собственно ничего и не изменили, чтобы сохранять это в файле конфигурации.
Кроме того, промежуточные настройки параметров не сохраняются сами в файле конфигурации.
Речь идет о некоторых играх, которые определенным образом используют двойные GS буфера для черезстрочных режимов, меняя текущие настройки.
Команда 'Save Slot to RAM' (Сохранить Слот в Память) имеет смысл только тогда, когда вы собираетесь использовать текущие измененные настройки в дальнейшем, снова загрузив этот слот, как я описывал выше. И для этого массив слотов должен быть сохранен на карту памяти с помощью комбинации L2+R2.
И, конечно, если вы не поменяли ни один из параметров, нет нужды сохранять текущий режим для последующей загрузки. Вы можете в дальнейшем просто выбрать этот стандартный режим таким же образом, как вы указали в своих шагах.
Сохранение видеорежимов в пользовательском массиве в первую очередь предназначено для ситуаций, когда вы настроили параметры режима для оптимального размера и центровки изображения на вашем конкретном телевизоре или когда нужен определенный масштаб изображения для определенной игры для выбранного видеорежима и т.п. А если используется один из стандартных видеорежимов безо всяких подстроек, нет смысла сохранять параметры этого режима.
Помните, однако, что любой видеорежим, записанный в слот 00 и сохраненный в конфигурационный файл, будет включаться автоматически при последующих запусках GSM. (Это важно тем, кто использует VGA мониторы, у них 'черный' экран в процессе запуска GSM пока автоматически не включится сохраненный VGA режим).
Вопрос
Когда я включаю 480p, GSM принудительно переводит мою игру в режим 16:9, и оставляет черные полосы слева и справа.
Но сама то игра предназначена только для режима 4:3!
Ответ
Многие игры для PS2 не использует максимальное разрешение NTSC/PAL. Вместо этого они запускаются в более низком разрешении, например 512x448.
Переключая такую игру принудительно в режим 480p, вы не только включаете прогрессивную развертку, но и переводите игру в более высокое разрешение (640x448). Тогда внутреннее разрешение игры центрируется в новых границах, оставляя черные полосы слева и справа. То есть, по сути это не является вопросом переключения режимов 4:3/16:9. Это скорее удачное совпадение, что «растягивая» картинку в пропорции 16:9, программа на самом деле просто возвращает такую игру в ее истинные пропорции.
Вопрос: (продолжение предыдущего)
Может быть можно подстроить какие-то параметры GSM, чтобы растянуть изображение и заполнить черные полосы по бокам?
Ответ
В программе нет возможности слегка растянуть масштаб картинки, выполнив небольшие изменения параметров DH или DW, так как изменить масштаб можно только изменив коэффициент увеличения в параметрах MAGH и MAGV. А так как эти параметры целочисленные, дробное масштабирование невозможно.
Другими словами, PS2 никак не является чем-то похожим на XRGB-2 (конвертер повышающий разрешение от Micomsoft). Консоль не может пересчитать на лету, например, горизонтальное разрешение 512 в 640. Она может только кратно увеличить вертикальное и горизонтальное разрешение в 2, 3, 4 раза. Удвоив горизонтальное разрешение для одной из указанных выше игр (с черными полями), мы получим обрезанную слева и справа картинку в режиме 480p. Так как 512 x 2 = 1024 пикселей, которые надо вписать в 640 точек.
Вот если бы удалось как-нибудь выполнить тонкую настройку генератора VCK, тогда бы может быть получилось сделать дробное масштабирование. Но мы не знаем, как это делается, если это вообще возможно.
Вопрос
Возможно ли запустить игру от PSone в режиме 480p?
Ответ
Скорее всего это вообще невозможно, так как программа, которую мы используем для перевода приставки в режим 480p – это программа для PS2, и она не переживет переключения консоли в режим PS1.
По правде говоря, какие-то графические расширения возможны даже для PS1 программ (в виде настроек драйвера PS1), и может быть какие-то из параметров, которые мы посылаем GS чипу, будут продолжать действовать на чип даже после переключения в режим PS1. Но вероятнее всего драйвер PS1 обнулит все настройки GS чипа, что полностью убьет весь эффект от наших настроек.
Вопрос
Судя по всему, GSM никак не реагирует на нажатия кнопок!
Ответ
Чтобы легче было реализовать множество команд без задействования продвинутой системы меню, большинство из этих команд требует нажатия двух кнопок одновременно. Возможно, вам надо удерживать их нажатыми чуть дольше, чтобы система распознала нажатие.
Например, чтобы выйти из GSM в HDLoader, необходимо нажать две кнопки [Стрелка вправо] и [Start] и держать пока программа не среагирует.
Вопрос
Где конкретно GSM ищет программу HDLOADER.ELF?
Ответ
Программа HDLoader должна располагаться (на текущий момент) в "mc0:/BOOT/HDLOADER.ELF".
Вопрос
Можете объяснить, на что влияют параметры DX, DY, DW, DH, MAGV, MAGH?
Ответ
Эти шесть полей на самом деле битовые поля в 64-битовом регистре GS, и всего GS имеет два таких регистра (DISPLAY1 и DISPLAY2). Конкретные позиции этих битовых полей лучше всего показаны в исходниках программы, в функции "make_magic".
DX,DY == управляют расположением (сдвигом) экрана, в неких физических единицах (не пикселях)
DW,DH == определяют размер видимой части экрана, опять же в неких физических единицах (не пикселях)
MAGH,MAGV == определяют взаимосвязь между этими физическими единицами и пикселями (физические единицы – это, по сути, такты генератора VCK по горизонтальной оси и растровые линии по вертикальной оси)
Значения DX и DY хранятся в памяти «как есть», остальные же 4 параметра хранятся по формуле «значение – 1».
То есть, если MAGV = 0x00, это означает, что коэффициент вертикального масштаба равен 1, а если MAGH = 3, то коэффициент горизонтального масштаба равен 4 (стандартное значение для черезстрочных режимов PAL и NTSC). Также для обычного разрешения PAL 640x512, параметр DW будет 639, а параметр DH будет 511.
Вопрос
Подстройка параметра DW работает, а вот DH нет. DH дает такой же эффект как и DY.
Ответ
Уменьшение DY перемещает изображение вверх по экрану, но если верхняя часть изображения уже выходит за границы, тогда будет видно только как перемещается вверх край изображения внизу экрана.
С другой стороны, уменьшение DH также должно привести к перемещению вверх нижней части изображения, так как уменьшается высота видимой части картинки. Это как раз и может выглядеть очень похожим на предыдущий случай (уменьшения DY).
Вопрос
Для чего нужна опция "Adaption"?
Ответ
Эта опция, как следует из названия, выполняет подгонку масштаба или центровки изображения на экране. При обычном использовании приставки эта опция всегда должна быть включена.
Смысл выключения этой опции состоит в том, чтобы мы могли четко увидеть, что происходит, когда мы ковыряемся в регистрах. В этом случае данная опция будет искажать истинный эффект.
Вопрос
На что обратить внимание, посылая вам информацию об ошибке?
Ответ
Есть важная информация, которую надо сообщать. Было бы крайне полезно получать ее от всех, кто присылает данные о работе программы GSM.
Это код консоли и версия bios-а!
Код консоли можно увидеть в главном меню приставки (==FMCB), если нажать кнопку 'Треугольник'.
Нужный нам код начинается с букв SCPH. Например, код моей приставки (версии v7): "SCPH-39004".
Версию bios-а можно увидеть в uLE в режиме FileBrowser. Для этого надо запустить "MISC/Debug Info".
Нам нужна полная строка, которая отображается в качестве содержимого rom0:ROMVER.
Например, для моей приставки это "0160EC20020319_", именно так, как это показывает uLE.
Эта информация очень поможет нам понять, какие из моделей имеют ограничения, связанные с чипом GS.
Другая важная информация, которая должна содержаться в любом отчете об ошибке, это точный номер версии GSM (или GSTest для старых версий). И, конечно, все последующие тесты программы должны использовать свежую версию GSM.
Вопрос
Попытка переключиться в режим 576p приводит каждый раз к зависанию моей PS2 консоли. Разве не все PS2 поддерживают этот режим?
Ответ
На самом деле это зависит не от версии самой консоли, а от версии bios-а консоли.
Все консоли PS2 на «железном» уровне должны поддерживать режим 576p, но переключение в этот режим выполняется через специальную функцию bios-а «sceSetGsCrt», которая должна быть достаточно новой, чтобы распознать код режима 576p. Иначе это приведет к зависанию консоли.
Вопрос
Есть ли какой-нибудь список консолей, которые точно работают в режиме 576p?
Ответ
К сожалению, режим 576p не работает в bios-е «толстых» консолей, насколько нам известно.
Кроме того, наверняка этот режим не работает и в приставках SCPH-700xx версий v12/v13.
Вот где режим 576p точно реализован, так это в bios-е версии v2.20, который используется в консолях SCPH-77004 версии v15 и в консолях SCPH-750xx версии v14. Данные могут варьироваться для конкретных экземпляров консолей в зависимости от версии bios-а.
Вопрос
Почему-то при выборе стандартного режима GSM, изображение не по центру. Можете это исправить?
Ответ
У нас нет возможности добиться идеальной центровки в стандартных режимах для всех пользователей, другими словами тонкая подстройка остается за вами. В текущей версии GSM можно сохранить параметры такой подстройки, что должно удовлетворить большинство пользователей.
Мы готовы и дальше рассматривать любые предложения на эту тему. Можно даже устроить голосование и выбрать наилучшие настройки по умолчанию. Нас, в общем-то, тоже далеко не все устраивает. Однако надо понимать, что разные телевизоры имеют разную обработку видеорежимов. Скажем, выставив параметры идеально для ЭЛТ телевизора, можно получить сильный сдвиг центровки на HDTV панели и т.п.
Вопрос
А можно добавить возможность запускать игру прямо из GSM?
Ответ
На наш взгляд в этом нет необходимости. С таким количеством различных способов запусков игр, которые мы имеем на сегодня, нереально даже рассматривать возможность добавить все это в интерфейс GSM. Вот смотрите, 3-4 разных способов запуска с USB, плюс разные версии HDLoader, плюс ESR, плюс подменяющие утилиты, и не забываем про обычный запуск дисков (наименее важный для нас метод запуска).
Вопрос
Некая игра, похоже, выдает низкое разрешение в режиме 480p, как будто бы используется половина вертикального разрешения. Почему так?
Ответ
Есть два разных способа отрисовки обычного NTSC изображения, используя полное разрешение 640x448 пикселей (то же касается и PAL, только немного другие числа).
Один метод заключается в использовании одного буфера на 448 растровых линии по 640 пикселей.
Другой метод использует два буфера, по 224 растровых линии в каждом. По факту, в одном буфере содержатся все нечетные линии, а в другом все четные. То есть, каждый содержит картинку половины кадра.
Вот этот второй метод создает нам серьезные проблемы в прогрессивных режимах. Так как нет встроенной поддержки такого способа отрисовки, нам бы пришлось выбирать, какой из буферов использовать при отрисовке каждой линии. Но это для нас нереально. Поэтому в данном случае мы можем только удваивать каждый пиксель по высоте. По крайней мере, мы полностью используем экран для изображения, и избегаем отрисовки мусора, который возникал в предыдущих версиях GSM при запуске игр, которые используют «второй метод». Мы понимаем недостатки такого подхода, но это лучшее, что мы можем сделать сейчас. В прежних версиях был