Меню

Ps2 не работает с джойстиками

Про смартфон — цены, обзоры и реальные отзывы покупателей

На сайте Pro-Smartfon найдёте отзывы и обзоры топовых смартфонов 2017 года. Всё о плюсах и минусах мобильных телефонов. Свежие фотографии, цены и реальные отзывы покупателей о лучших смартфонах

Ps2 не работает джойстик

Что делать, если система не реагирует на аналоговый контроллер DUALSHOCK 2.

Что делать, если система не реагирует на аналоговый контроллер DUALSHOCK 2?

  1. Убедитесь, что контроллер подключен к системе.
  2. Убедитесь, что используется лицензированный аналоговый контроллер DUALSHOCK 2. На контроллере должен быть официальный логотип PlayStation. Sony Interactive Entertainment Europe (SIEE) не гарантирует правильной работы нелицензированных дополнительных устройств 1 .
  3. На работу дополнительных устройств, таких как контроллеры, могут влиять статическое электричество и другие факторы. Выключите систему при помощи выключателя на задней стенке и снова включите ее.
  4. Если есть возможность, проверьте работу контроллера 2 на другой системе PlayStation 2.
  • Если контроллер работает неправильно, возможно, его придется заменить.
  • Если контроллер работает нормально, возможно, система PlayStation 2 неисправна.

Что делать, если функция вибрации аналогового контроллера DUALSHOCK 2 не работает?

  1. Осмотрите упаковку программного продукта формата PlayStation 2, чтобы убедиться, что на ней присутствует значок функции вибрации. Если значок отсутствует, программный продукт не поддерживает функцию вибрации.
  2. Если на упаковке есть значок функции вибрации, проверьте, что эта функция включена в настройках игры. Если функция вибрации выключена, включите ее и сохраните настройки.
  3. Проверьте, включен ли аналоговый режим. Нажмите кнопку analog на контроллере, чтобы переключить его из аналогового режима в цифровой и наоборот.

1 Sony Interactive Entertainment Europe (SIEE) рекомендует использовать только оборудование, одобренное и официально лицензированное для использования с продукцией PlayStation. Такое оборудование не причинит вреда вашей системе, а его использование не аннулирует гарантию. Если вы используете оборудование, которое не выпущено и не лицензировано SIEE для использования с PlayStation 2, рекомендуем более не использовать это оборудование.

2 Оригинальный аналоговый контроллер DUALSHOCK может неправильно работать с системой PlayStation 2 при воспроизведении программных продуктов формата PlayStation 2.

Уже неоднократный случай, когда люди ходили в магазин со схожей жалобой, на что получали отказ.

Вот на примере переходника под параллельный порт PC (т. к. не нашел более подходящей схемы), этот контакт вовсе не использовался у «PS2» геймпадов.


Когда я начал писать эту статью, то понял, что глав выйдет на контроллер поболее:
Это сам джойстик, второй джойстик, вибрация и Мультитап (устройство для подключения 4 джойстиков в один порт) – он у меня есть.
Для самого джойстика существует две библиотеки, каждая из которых дает свою информацию.

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

У каждого контроллера есть так называемый контроллер терминала – это собственно порт, через который вы обращаетесь к контроллеру.

Для управления контроллерами существует специальная библиотека libpad, которая обеспечивает получения данных с кнопок, изменение режима контроллера и вибрацию.
Также существует «обычная» библиотека libmtap. Обе библиотеки могут работать с multitap.

Библиотека поддерживает следующие контроллеры от PS1 и PS2:
Обычный цифровой контроллер (без аналогов): > Dual Shock 1 и Dual Shock 2: > NeGcon контроллер: > Обычный аналоговый джойстик: > Namco пистолет: > Jog контроллер и контроллер рыбалки (сюда, видимо, входит и гитара): Спец. расширенный ID.

Об остальных я буду пополнять информацию по пути.

Порт и слот

Понятия порт и слот – разные вещи в PS2.
Порт указывает на главные контроллеры – те самые для первого и второго джойстика на самой PS2.
Слот используется, в большинстве, когда у вас есть MultiTap. Мультитап нужен для подключения нескольких джойстиков в один порт (максимум — 4). Обычно, в играх это отображается как Joystick 1A, Joystick 1B и т.п.
Если у вас нет мультитапа, то, в принципе, вам и заморачиваться не стоит: порт 0, слот 0 – первый джойстик, порт 1, слот 0 – второй джойстик.
С мультитапом будет по другому: если у вас, скажем, вставлен во второй порт мультитап и к нему подключен джойстик в слот А, то вам требуется обратиться к нему с помощью порт 1, слот 0.
Достаточно подробно это видно на изображении:

Читайте также:  Настроить тор для айфона

На будущее скажу, что также происходит работа с картами памяти.

Работа с джойстиками

Для использования libpad нужно подключить библиотеку «libpad.a» и заголовочный файл «libpad.h».
Для запуска следует использовать во время старта приложения функцию «sceSifLoadModule()».
В makefile должен быть добавлен параметр «–lpad».

Основные процедуры для использования контроллеров:

scePadInit() – инициализация библиотеки. Параметром является 0.

scePadPortOpen() – открытие порта контроллера. Возвращает Его параметрами являются: порт, слот, буфер, который будет использоваться. Должен быть размером 64 байта. Объявляется видом:
static u_long128 pad_dma_buf[scePadDmaBufferMax] __attribute__((aligned (64)));
Где scePadDmaBufferMax – константа, которую объявлять не надо.
Возвращает функция int, по которому вы можете проверить то, что джойстик вставлен – если его нет, то параметр будет равен 0;

Далее библиотека начинает автоматически общаться с контроллером когда контроллер включен и открыт. Далее есть две функции:

scePadRead() – используется для чтения кнопок.
Функция имеет 3 параметра: порт и слот и буфер для сохранения результата.
Буфер представляет из себя unsigned char buffer[32];
Также функция возвращает результат. И если он равен нулю, то чтение зафейлилось.
Далее нам просто надо читать буфер, хоть на самом деле это не просто.

scePadGetState() – с помощью нее можно проверять находится ли контроллер в спокойном состоянии. Принимает параметрами порт и слот.
Возвращает статус контроллера. Если статус больше и равен нулю, а также меньше или равен 7, то что-то произошло.

Для закрытия контроллеров используется функция scePadPortClose(), где параметры порт и слот, и после scePadEnd() выключает библиотеку. Обычно эти две функции не используются.

Добавлю, что все эти функции также используются для чтения аналогов, только если включен режим.

Самый банальный пример будет выглядеть так:

main()
scePadPortClose(0,0);
scePadEnd();
>
* This source code was highlighted with Source Code Highlighter .

Работа с DualShock и чувствительность нажатия кнопок

Для начала требуется включить режим аналогов функцией scePadSetMainMode(). Принимает параметры порт, слот, 1 и 0. Возвращает результат в виде 0 или 1, что значит не включен или включен, соответственно.

Чтобы убедиться, что контроллер действительно DualShock, требуется вызвать функцию scePadInfoPressMode(). Принимает параметры порт и слот, возвращает результат в виде 0 или 1.

Включение самого режима происходит функцией scePadEnterPressMode(). Принимает параметры и возвращает также как и предыдущая функция.

В дальнейшем, через функцию scePadRead() в буфере мы получаем дополнительно еще один байт, в котором степень нажатия кнопок отображены значениями от 0 до 255. Где 0 равен тому, что кнопка не нажата.

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

С помощью функции scePadExitPressMode() можно выйти из режима чувствительности клавиш. Принимает он порт и слот. Может понадобиться на переключение в меню.

Если пользователь во время чувствительного режима нажмет на кнопку аналога, то он переключится на обычный цифровой режим без чувствительности. Повторное нажатие на кнопку аналога не переключит джойстик обратно в режим чувствительности.

Вибрация

Вибрация в джойстике достаточно проста и в то же время нет.
Можно подключить для нее отдельную библиотеку, а можно использовать только две функции, которые входят в libpad.

Про другую библиотеку вибрации расскажу в следующий раз, тут же расскажу о достаточно простых двух функциях, это scePadSetActAlign() и scePadSetActDirect(), которые принимают, порт, слот и 6 байт о закручивании.
В первом байте вы указываете сильный мотор или слабый мотор.
Слабый мотор принимает во втором байте значения 0 или 1, что значит остановка или кручение. Сильный мотор принимает во втором байте значение от 1 до 255 или 0, что означает силу кручения или остановка.
Функция scePadSetActDirect() возвращает true или false, говорящие о выполнении операции вибрации. Остальные байты желательно заполнять значением 0xff, если вы их не используете.
После этого джойстик пользователя получит 10 единиц тока для работы вибрации.
Для увеличения количества единиц тока до 20 просто заполните остальные значения 0x00.

Важно!
Надо знать, что каждый порт ограничен максимальным числом единиц тока, равным 60. Если попробовать дать больше 60, то порт может быть заблокирован до перезагрузки консоли (срабатывает внутренний ограничитель).
Таким образом, если у меня стоит мультитап, и на джойстики 1А, 1B и 1C я подам по 20 единиц тока, то на джойстик 1D я не могу уже это сделать, иначе могу заблокировать порт. Поэтому использовать повышенную подачу тока я вам не советую.

Читайте также:  Холодильник атлант 2х камерный как настроить температуру

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

Асинхронные функции

Следующие функции являются асинхронными. Они могут не вернуть вам результат в тот же момент. В этом случае вы можете получить результат их исполнения через функции scePadGetState() или scePadGetReqState().

scePadSetMainMode – переключение режимов ввода;
scePadSetActAlign – функция вибрации;
scePadEnterPressMode — вход в режим чувствительности нажатия кнопок;
scePadExitPressMode – выход из режима чувствительности нажатия кнопок.

Ближе к концу

Вообще, в принципе, приложение будет дальше работать с портом и слотом, даже если джойстик удален (выключен). Программно проверить что джойстик удален можно с помощью scePadGetState(), которая вернет scePadStateDisconnect.
Перед каждым кадром советуется проверять состояние контроллера, дабы не возникло ситуации, когда джойстик случайно выключился.

Также, в зависимости от версии контроллеров DualShock или DualShock 2, спецификация аналогов может меняться и надеяться на автокалибровку джойстика не стоит. Поэтому чаще всего приходится делать поправки на то, что аналог не остановился в точке 127х127.

На этом все. Увидимся в следующей, более подробной статье о джойстиках.

P.S.: Видя актуальность темы, я писал эту статью пол ночи и утро. Если SDK будет готов к следующей статье, то вместо джойстиков будет описание установки.

Update: Функция scePadInit() нужна только в использовании EE, о котором я и веду речь. IOP инициализирует библиотеку сам.

Источник

Ps2 не работает с джойстиками

S o n y P l a y S t a t i o n 2

Прежде чем задавать вопросы, ознакомьтесь с материалами шапки

Обсуждение игр только здесь: Sony PlayStation 2 — Обсуждение игр
Сообщения,где скачать игру,запуск игр или обсуждения какой-либо игры будут удалятся в этой теме.

Сообщения типа:
Как установить FreeMcBoot?
Что такое чиповка?
Как качать игры? и так далее..будут удалятся без предупреждения
В шапке и FAQ’е все это есть.
FAQ по PS2

Sony PlayStation 2, PS2 — вторая игровая приставка, выпущенная компанией Sony, наследница PlayStation и предшественница PlayStation 3. О начале разработки было объявлено в марте 1999 г., продажа консоли в Японии началась 4 марта 2000 г., в Северной Америке — 26 октября 2000 г., в Европе — 24 ноября 2000 года, в России — 7 ноября 2002 года.

Игровая приставка шестого поколения, ставшая наиболее быстро продаваемой и самой популярной игровой консолью в истории. На третий квартал 2011 года в мире продано почти 155 миллионов экземпляров PS2

28 декабря 2012 года было прекращено производство в Японии, а 4 января 2013 года Sony подтвердила, что производство PS2 прекращено по всему миру. Тем самым, PS2 выпускалась почти 13 лет, это один из самых длинных жизненных циклов в истории игровой индустрии.

Три первых редакции PlayStation 2 (модели SCPH-10000, SCPH-15000 и SCPH-18000) продавались только в Японии и не имели порта расширения Dev9, который есть в текущих моделях PlayStation 2, вместо него стоял порт PCMCIA. Для этих моделей выпускался переходник PCMCIA в Dev9. SCPH-10000 и SCPH-15000 не имели встроенной программы-плеера для проигрывания DVD, вместо этого, зашифрованный плеер копировался в карту памяти с CD, входящего в комплект. V3 значительно отличался от предыдущих моделей своей внутренней структурой, в ней было несколько связанных между собой печатных плат. Начиная с V4 всё кроме блока питания было помещено на одну плату. В V5 были незначительные внутренние изменения. Единственным изменением в V6 (иногда её называют V5.1) было положение выводов, ведущих к кнопке включения/сброса — это было сделано для борьбы с использованием мод-чипов. V7 и V8 также были очень похожи. С версией V9 (SCPH-50000/SCPH-50001) сборка PlayStation 2 была перенесена в Китай, был добавлен инфракрасный порт для пульта дистанционного управления DVD, убран порт FireWire, добавлена возможность чтения DVD-RW- и +RW-дисков, добавлена прогрессивная развертка для DVD и поставлен менее шумный вентилятор. V10 и V11 имели небольшие изменения.

Читайте также:  Новости рамблера не работает

В сентябре 2004 года Sony представила третью основную редакцию приставки (V12, модель SCPH-70000) — значительно меньшего размера, более тонкую, более тихую, чем старая версия. Кроме того, в новой модели появился встроенный Ethernet-порт. В некоторых регионах модель также имела встроенный модем. Из-за малого размера из новой модели был исключён слот расширения; тем самым, терялась совместимость с внутренним жёстким диском от предыдущей модели, но это не мешало припаять шлейф IDE на 70xxx к обвязке микросхемы CXD9731AGP/CXD9731GP. Блок питания из внутреннего стал внешним. В продажу эта редакция поступила в ноябре 2004 года.
Появление несовместимости с жёстким диском стало предметом критики, поскольку было несколько игр (таких как Final Fantasy XI), которые требовали наличия жёсткого диска; его наличия требовал также официальный пакет PS2 Linux. Расширение MultiTap для SCPH-70000 также претерпело изменения. В настоящее время Sony продаёт только новую модель MultiTap, что означает, что владельцы старых PlayStation 2, если они хотят играть вчетвером или ещё большей компанией — должны найти подержанный MultiTap или взять MultiTap другого производителя. Была возможность также приобрести переходники от сторонних производителей для подключения жёсткого диска, но возможность подключения к IDE была полностью убрана в редакции V14.
В 2006 году Sony выпустила редакцию V15 (модели SCPH-77001a и SCPH-77001b), впервые они поступили в продажу в Японии 15 сентября 2006 года, затем в Северной Америке и в других частях света.
С июля 2007 года Sony начала поставлять новую редакцию тонкой PlayStation 2 Slim — V16 (SCPH-79000) весом в 600 граммов (по сравнению с 900 граммов в модели SCPH-77001); вес блока питания был также уменьшен до 250 граммов (350 гр в предыдущей редакции). Следующая редакция V17 (SCPH-90000) была анонсирована к продаже в Японии с 22 ноября 2007 года, с пересмотренным внутренним дизайном, в который на этот раз включен блок питания, в результате чего общий вес консоли составил 720 граммов

Процессор: 64 разрядный «Emotion Engine» на тактовой частоте 294.912 МГц (в поздних версиях 299 МГц), 10,5 млн транзисторов
Память: 32 МБ ОЗУ RDRAM производства компании Rambus с пропускной способностью 3,2 Гб/с
Основной процессор: 64-разрядное ядро ЦП MIPS R5900
Сопроцессор для обработки чисел с плавающей запятой
Векторные модули: VU0 и VU1, 128-разрядные на частоте 150 МГц. VU0 обычно используется для трансформации полигонов, физики и других вещей, имеющих отношение к геймплею. VU1 обычно используется для трансформации полигонов, освещения и других вычислений, связанных с визуализацией.
Производительность по операциям над числами с плавающей точкой: 6,2 гигафлопс
Производительность по геометрическим 3D-преобразованиям: 36 млн полигонов в секунду на один VU
Декодер сжатых изображений: MPEG-2
Кэш-память: для инструкций — 16 КБ, для данных — 8 КБ + 16 КБ
Графический процессор «Graphics Synthesizer» на тактовой частоте 147 МГц
Разрешение изображения: переменное, от 320х240 до 1920х1080i (при подключении через компонент, однако сами игры не более 720х576i, или использовать GS Mode Selector, для выбора VGA, Full HD, и других разрешений)
Видеопамять: 4 МБ eDRAM с пропускной способностью 48 ГБ/с. Помимо этого, 32 МБ из основной памяти может быть выделено под видеопамять.
Шина обмена с памятью: 2560-разрядная — 1024 на запись, 1024 на чтение, 512 на чтение/запись
Формат представления пиксела: RGB, альфа-канал, Z-буфер
Процессор ввода-вывода — центральный процессор от PS1 на частоте 33,8 либо 36,8 МГц (в разных версиях)
Звук: 48-канальный звук с частотой дискретизации 44,1 либо 48 кГц
Интерфейсы:
2 порта для игровых контроллеров
2 слота для карт памяти, используется технология шифрования MagicGate
2 порта USB 1.1
IEEE-1394a для подключения внешних периферийных устройств (только на SCPH-10000 — 3900x)
Инфракрасный порт для пульта дистанционного управления (SCPH-500xx и более поздние версии)
Expansion Bay для 3.5″ HDD и Network Adaptor (модели SCPH-300xx — 500xx)[14]
слот PC Card для Network Adaptor (PC Card) и внешнего жесткого диска (модели SCPH-10000, SCPH-15000, SCPH-18000)
DVD-привод
Поддерживаемые форматы: PS2 CD-ROM, PS1 CD-ROM, аудио-CD, PS2 DVD-ROM (4,7 ГБ), видео-DVD (4,7 ГБ), DVD-9 (8,5 ГБ). Последние модели также поддерживают DVD+RW и DVD-RW.

Источник

Adblock
detector