CP System II ( CPシステムII , CP shisutemu 2 ) , также известная как Capcom Play System 2 [2] или CPS-2 , — игровая аркадная плата , впервые использованная Capcom в 1993 году для Super Street Fighter II . Она пришла на смену предыдущей игровой приставке CP System , CP System Dash и Capcom Power System Changer, а в 1996 году ей на смену пришла игровая приставка CP System III , которую CPS-2 пережила более чем на четыре года. Для этой игровой приставки выпускались новые версии до конца 2003 года, завершившись Hyper Street Fighter II . Техническая поддержка CPS-2 закончилась 28 февраля 2019 года. [3]
Capcom объявила о разработке CP System II (или CPS-2) в 1990 году. Они планировали завершить и выпустить аппаратное обеспечение CP System II за 18 месяцев. Они также изначально планировали, что система будет поддерживать 3D-графику . [4]
Более ранняя системная плата Capcom , оригинальная CP System (или CPS-1), хотя и была успешной, была очень уязвима для бутлегеров, делающих несанкционированные копии игр. Чтобы исправить ситуацию, Capcom взяла аппаратное обеспечение CP System (с QSound ) с минимальными изменениями и использовала шифрование в программных ПЗУ для предотвращения программного пиратства . Из-за шифрования система никогда не подвергалась пиратству, пока не стали доступны незашифрованные программные данные. [ необходима цитата ]
CP System II состоит из двух отдельных частей: платы A , которая подключается к жгуту JAMMA и содержит компоненты, общие для всех игр CP System II, и платы B , которая содержит саму игру. Связь между платами A и B очень похожа на связь между домашней игровой консолью и картриджем . Платы CP System II A и B имеют цветовую маркировку по региону, и каждая плата может использоваться только с соответствующей ей по цвету парой. Исключением является то, что синюю и зеленую платы можно использовать вместе. [ необходима цитата ]
Платы B содержат память с батарейным питанием, содержащую ключи дешифрования, необходимые для запуска игр. Со временем эти батареи теряют заряд, и игры перестают функционировать, потому что процессор не может выполнить никакой код без ключей дешифрования. Это обычно называют «батареей самоубийцы». Можно обойти оригинальную батарею и заменить ее новой [5] внутри схемы, но это нужно сделать до того, как напряжение на оригинальной упадет ниже 2 В, иначе ключи будут утеряны. Следовательно, плата сразу же выйдет из строя, даже если ее использовать легально, она не будет работать по истечении конечного периода времени, если только Capcom не заплатит сбор за ее замену.
Из-за тяжелого шифрования долгое время считалось, что эмуляция CP System II практически невозможна. Однако в январе 2001 года группа CPS-2 Shock [6] смогла получить незашифрованные данные программы, взломав оборудование, которые они распространили в виде таблиц разностей XOR для получения незашифрованных данных из исходных образов ROM , что сделало эмуляцию возможной, а также для восстановления картриджей, которые были стерты из-за системы Suicide.
В январе 2007 года метод шифрования был полностью реверсирован Андреасом Наивом (Архивировано 2013-07-02 на Wayback Machine [7] ) и Николой Салморией . Было установлено, что шифрование использует два четырехраундовых шифра Фейстеля с 64-битным ключом. [8] [9] Алгоритм впоследствии был реализован в этом состоянии для всех известных игр CPS-2 в MAME .
В апреле 2016 года Эдуардо Круз, Артемио Урбина и Ян Корт объявили об успешном обратном проектировании программирования безопасности CP System II компании Capcom, что позволило провести чистую «де-суицидную» реставрацию и восстановление любых мертвых игр без модификации оборудования. [10] [11]
Capcom прекратила производство оборудования CP System II 22 декабря 2003 года, а Hyper Street Fighter II стала последней игрой, выпущенной для этого оборудования. Capcom прекратила большую часть технической поддержки оборудования и его игр 31 марта 2015 года. [12] [13] Замена батарей закончилась 28 февраля 2019 года, [14] прекратив всю официальную поддержку оборудования и программного обеспечения CP System II.
csend23
была вызвана, но не определена (см. страницу справки ).csend4
была вызвана, но не определена (см. страницу справки ).