Теперь игры загружаются в обход привода CD-ROM
Опытные геймеры наверняка помнят Sega Saturn — 32-битную игровую приставку от компании Sega. Она начала продаваться 22 ноября 1994 года, на две недели раньше главного конкурента — первой модели Sony Playstation. Это была настоящая бомба. В первый же день фанаты выкупили 170 000 экземпляров новой «Сеги». В 1995 году приставка появилась в продаже в Европе и США, где её тоже ждал успех: на неё портировали Quake, C&C, Tomb Raider, Duke Nukem 3D и другие игры.
На момент выхода архитектура Sega Saturn была гораздо более продвинутой, чем у любой другой игровой приставки. Saturn была очень мощной системой для своего времени: два центральных RISC-процессора (Hitachi SuperH-2 7604), два видеопроцессора (собственной разработки), 32-битный звук (звуковой DSP-процессор Yamaha FH1), CD-привод двойной скорости.
Впрочем, довольно быстро Sega Saturn уступила позиции Sony Playstation.
Забавно, что архитектура Saturn была во многом более продвинутой, чем у конкурента. В отличие от Playstation, оперирующей треугольниками в качестве базовых геометрических примитивов, Saturn отрисовывал четырёхугольники. При правильном использовании, такой рендеринг давал меньше искажений текстур, чем в играх Playstation. Аппаратная часть, нацеленная на четырёхугольники, и на 50% больший объём видеопамяти также давали Saturn преимущество в 2D-играх. Но в итоге более «продвинутая» архитектура Saturn стала препятствием для портирования многих игр, потому что основные инструменты разработчиков основывались на треугольниках, как и многоплатформенные игры. Поэтому победила Playstation.
Материнская плата Sega Saturn
На сегодняшний день обе эти приставки — и Sega Saturn, и первую Sony Playstation — можно найти разве что на полках коллекционеров. Но самое интересное, что DRM-защиту игр для Saturn так и не удалось взломать. Проблема в то, что трудно было создать нормальное окружение для обратной разработки. К примеру, в старых игровых приставках применялись картриджи с флэш-памятью, а в более поздних консолях есть возможность перепрошить непосредственно флэш-память на плате. В случае с Sega Saturn проблема в том, что практически невозможно найти древнюю приставку с рабочим приводом для компакт-дисков. Операционная система зашита в миросхему контроллера привода CD на материнской плате, а защита от копирования выполнена в форме физических отметок по краю компакт-дисков — сделать копии дисков с подобной защитой оказалось очень трудно.
Защита от копирования компакт-дисков
Как же осуществить обратную разработку и взломать диски в такой сверх-закрытой системе?
Выход нашёлся. Энтузиаст jhl (Dr Abrasive) из хакерского сообщества Assembler Games сделал практически невероятную вещь — эмулятор оптического привода Sega Saturn! На эту работу у него ушло около двух лет.
Dr Abrasive в своей лаборатории, где он за два года сумел разработать эмулятор оптического привода Sega Saturn. На столе лежит разобранная консоль
По словам jhl, японская игровая приставка очень замысловато устроена. Он называет это «овер-инжиниринг», говоря о таком количестве процессоров, среди них два центральных, два графических, один звуковой и так далее.
Приводом компакт-дисков управляет отдельный контроллер: 32-битный RISC-процессор SH-1. Хакеру пришлось немало потрудиться, чтобы разобраться с микросхемой этого контроллера.
Микросхема в контроллере привода компакт-дисков
В игровой приставке есть внутренний порт расширения, куда вставляется карта декодирования MPEG, чтобы просматривать компакт-диски с видео.
Внутренний порт расширения Saturn
Этот порт расширения подключается к контроллеру компакт-дисков и пропускает данные через него, с использованием шифрования.
Для начала, хакер придумал способ, как добраться до прошивки контроллера. Он изъял плату с контроллером из игровой приставки и подсоединил его к перепрошитому картриджу Game Boy. В этом картридже ROM была перепрошита таким образом, что считывать ROM из контроллера через NVRAM и далее по USB. Таким образом, jhl сумел сделать дамп памяти ROM из контроллера.
Плата с контроллером из приставки Saturn подключена к перепрошитому картриджу Game Boy
64 килобайта памяти этого процессора плотно упакованы инструкциями, в которых пришлось долго разбираться. Dr Abrasive говорит, что изучение этого кода открывает очень много информации об истории разработки Sega Saturn, но в целом он был очень впечатлён открывшейся картиной.
Изучив содержимое ROM, удалось понять, каким образом код для SH-1 загружается из карты-декодера MPEG. Dr Abrasive говорит, что он нашёл своеобразный «бэкдор» во встроенной операционной системе, который позволяет загружать диски без защиты от копирования.
Так получилось сделать USB-интерфейс, чтобы загрузить также содержимое микросхемы YGR022 (через разъём карты MPEG). Это был первый и самый важный шаг к созданию полноценного эмулятора оптического привода Saturn.
В результате этой работы Dr. Abrasive сумел сделать адаптер, через который данные загружаются в приставку в обход штатного CD-привода, то есть через внутренний порт расширения! То есть игры в приставку теперь можно загружать даже с обычной USB-флэшки, не нужны оригинальные компакт-диски.
Титанический объём работы, который проделал Dr. Abrasive за два года, не может не вызвать уважения. Обо всём процессе реверс-инжиниринга автор подробно рассказывает в любительском документальном фильме. Это действительно великолепный фильм.
Код для взлома Saturn и эмулятор привода автор в ближайшее время выложит в открытый доступ.
Во-первых, эмулятор нужен энтузиастам, которые занимаются копированием дисков для Saturn и портированием игр под эту приставку. Во-вторых, владельцы игровых приставок теперь могут снова использовать их даже в том случае, если штатный CD-привод вышел из строя, а ведь это самая распространённая поломка Saturn. Кроме того, наличие эмулятора позволит сделать копии многочисленных дисков для Saturn и сохранить их для истории.
Комментарии (56)
dmitry_dvm
12.07.2016 15:19В чем прикол делать завязку всего на часть, которая чаще всего ломается? Приводы между собой взаимозаменяемые?
gibson_dev
12.07.2016 19:46xbox 360 — такая же история
moozooh
13.07.2016 02:59Справедливости ради — если все игры устанавливать на ЖД или флешку и ставить саму консоль ровно, привод способен прожить весьма долго. Мой первый х360 получил RRoD на шестом или седьмом году жизни, причём даже реболл не помог, а вот привод — жив. На PS2, которой второй десяток идёт, тоже жив — хотя я на нём самописные болванки кручу, да и продукция Sony меня никогда особой долговечностью не баловала. Подозреваю, жизнь механики во многом от условий зависит.
SerafimArts
16.07.2016 05:50Не только от этого. Дома стоит дримкаст в полностью рабочем состоянии, при этом пару лет он пролежал на даче, а там летний домик, стены тонкие, т.е. и морозец зимой был и жара летом. Сейчас стоит себе как новенькая дома (привёз всё же), полностью работает, естественно никто её не ремонтировал ни разу.
Так что, имхо, всё зависит от места и времени сборки, ибо с приводами и у дримкасты были некоторые проблемы помнится.moozooh
17.07.2016 02:36Относительно старая техника, кстати, в выключенном состоянии на мороз и жару вполне себе нормально реагирует. Её в первую очередь резкие перепады температур убивают, ну и конденсат, если такой образуется. Это для современной, где сверхтонкие дорожки, бессвинцовые припои, гигантское тепловыделение и прочая прелесть, любой чих может оказаться смертельным. Мой х360 хватанул RRoD просто оттого, что полгода стоял на тумбочке в тени сбоку от окна. Курам на смех, блин. Это при том, что где-то на антресоли валяется SNES, которой больше двадцати лет, и пару лет назад она точно ещё работала.
artyums
12.07.2016 20:43+1На срок службы хватало, а что будет дальше — производителя, видимо, не интересовало. Сейчас, в общем-то, такая же история много где — своего рода, предсказуемый срок жизни изделия. Побыстрее пользователь новое что-то купит…
pewpew
12.07.2016 15:19Вот бы в некоторые другие оригинальные приставки можно было так с флешки закидывать образы…
Например, у меня есть Sega Dreamcast с севшим лазером.thelongrunsmoke
12.07.2016 15:21GDEMU. Если подходит ревизия Dreamcast. Всего 100 евро за плату.
pewpew
12.07.2016 15:26Ревизия подходит. Но блин, 110 евро… Да и предзаказ недоступен.
Ещё бы исходиники…thelongrunsmoke
12.07.2016 17:18+1Там атмега и плис, на многослойной плате, даже при наличии герберов и прошивок, это не сильно поможет. Я как раз работаю над портативной Dreamcast, с этим эмулятор вместо GD-ROM.
Кстати, у автора GDEMU есть проекты Phoebe и Rhea — эмуляторы оптических приводов для разных версий Сатурна. Им уже не один год.
perfect_genius
12.07.2016 21:56А есть подобное для PS2?
Vehona
12.07.2016 22:35В случае slim версии (не помню как обстоит с phat) можно обеспечить чтение образов по юсб или по LAN'у.
Superl3n1n
13.07.2016 16:53FreeMC Boot — загрузчик, ставится на карту памяти
Open PS2 Loader — позволяет загружать игры с флешки (дико тормозит видео в играх), HDD и сети (самый оптимальный вариант)
Вот отличное видео сделанyое Newbilius
www.youtube.com/watch?v=ILAL3zDgENYperfect_genius
13.07.2016 19:12Спасибо за ответ и отличное видео, но я знаю про эти способы и имел в виду именно аналог GDEMU для PS2 — сторонний чип, позволяющий USB 2.0 или ещё что побыстрее.
Значит, сейчас самое оптимальное — толстушка с SSD и LAN.
iSage
14.07.2016 12:11DreamShell + sd-карта или ide-винт. Нужны прямые руки и рублей 500 на компоненты.
XEN7
12.07.2016 16:21+5Невероятный человек! Я всегда горжусь такими людьми, как Dr Abrasive — поклон ему. Все остальное (даже практическое применение созданного) не столь важно, сколь проведенный титанический труд одного (ну или даже пару, если ему кто-то помогал) человека. А еще, это несомненно ностальгия. Кто знает, как все бы повернулось, если бы «четырехугольники» стали трендом.
puz78
12.07.2016 17:24+2Если бы «четырехугольники» стали трендом, кто-нибудь из тысяч таких же хакеров, как этот, сломали бы защиту через пару месяцев. Потому что это было бы нужно. А поскольку не было нужды, то никто и не ломал.
NeoCode
12.07.2016 18:34Да, я тоже восхищаюсь такими людьми. Настоящий гик и хакер!
Но что что интересно — он скорее всего из Штатов (или в крайнем случае из Европы). У них там более развитая «хакерская культура», чтобы заниматься такими вещами (а это же личное время и немалое, и усилия конечно), или просто больше свободного времени и прочих ресурсов (в том числе и финансовых)?troosh
12.07.2016 21:23+2Нет пророка в своем отечестве?.. Мне лично ничто не мешало «заниматься такими вещами» в России в своё время. Всё мирское чушь, -тхудожник не может не творить. И это скорее бремя…
hdmi
13.07.2016 14:03Ага, в США и Европе прямо субсидируют хакеров, конечно.
А если серьезно, всегда было интересно откуда у людей находится столько свободного времени? Понятно, когда Andrew «bunnie» взламывал Xbox он был скучающим PhD. Но вот когда он реверсил ключи HDCP в своем NeTV, это был уже дядька «который где-то работает большую часть дня» :) Что тут сказать, респект таким людям…Acuna
13.07.2016 15:51А что, простите-с, Абразиву мешает быть «скучающим PhD»?) Ну или как вариант мелкие заказы, на хлеб хватит. Они же альтруисты, им роскошествовать не надо, лишь бы комп да еда была бы.
hdmi
13.07.2016 16:42+1Кстати, досмотрел видео до конца. И таки да, Абразив хакал сегу во время учебы:)
Acuna
13.07.2016 18:01А, ну дак! Вот и ответ) Золотое время! Нам так преподаватели и говорили, что мы должны понимать, что учеба в вузе — это время для самообразования. И надо бы все-таки посмотреть фильмец, судя по всему должно быть интересно.
moozooh
12.07.2016 17:08+11> Забавно, что архитектура Saturn была во многом более продвинутой, чем у конкурента.
Забавно потому, что перепутали продвинутость со сложностью. Разработчику под Сатурн приходилось писать и оптимизировать код аж под восемь (!) процессоров, из которых шесть были разными в плане архитектуры и/или характеристик: два ЦПУ, два чипа для генерации/обработки звука, два чипа для генерации/обработки видео, контроллер накопителя и ещё один сопроцессор до кучи. Приходилось активно использовать ассемблер, чтобы дотянуть производительность до уровня, хотя бы сопоставимого с PS1 — при том, что теоретическая производительность Сатурна была куда выше, если полностью нагрузить всё железо. Только полностью его никто не нагружал — распараллеливать ассемблерный код это, конечно, интересная инженерная задача, но разработчики такого «подарка» не оценили и дружно обиделись на Сегу, чем сильно испортили релиз Дримкаста в конце девяностых. Тех разрабов, кто мог выжать максимум из Сатурна и сделать так, чтобы разные процессоры не простаивали большую часть времени, можно перечислить на пальцах одной руки: Sega AM2 и АМ6, Sonic Team (все три студии — подразделения самой Сеги) да Treasure.
PS1, уверенно победивший сородичей по суммарным продажам, взял верх исключительно потому, что не создавал разработчикам лишнего головняка, хотя, как и PS2, был самой технически слабой системой своего поколения. Дримкаст же был практически безупречной работой над ошибками во всех отношениях, обходил PS2 (которая ещё и вышла позже) в фактической производительности и уж точно был намного более дружелюбным к разработке — но к тому моменту поезд, увы, уже уехал. А вообще это интересная тенденция — почти во всех поколениях игровых систем наиболее коммерчески успешна самая слабая. Парадокс?dgrees
12.07.2016 18:04+2Скорее, мне кажется наиболее успешное то, что наиболее дружелюбно к создателям контента.
hdfan2
12.07.2016 18:35Естественный отбор во всей красе. Выживает не сильнейший (как многие думают) — выживает наиболее приспособленный.
perfect_genius
12.07.2016 21:51+2Потом ещё Sony наступила на ту же граблю с PS3. Даже «свои» разработчики содрогаются до сих пор.
Wesha
12.07.2016 18:50https://www.youtube.com/watch?v=YEdJe2whw1I
«Ежели один человек построил — другой завсегда разобрать может!»
Argons
12.07.2016 22:03Отличная новость, как раз на полке лежит пакет с Sega Saturn с 6 дисками Quake 1, гонки леталки по трассе, Off-World Interceptor Extreme, Sega Rally Championship. Привод еще работает, но поиграть в другие игры будет думаю интересно )
moozooh
12.07.2016 22:57Очень рекомендую Panzer Dragoon II/Saga, Guardian Heroes, Radiant Silvergun, Battle Garegga, Castlevania: Symphony of the Night (хотя версия для PS1, конечно, лучше) и Darius Gaiden. Battle Garegga и Darius Gaiden, думаю, приятно удивят стильным саундтреком. Вообще на Сатурне, как и на Дримкасте, немало хороших портов с игровых автоматов — сеговские консоли этим весьма славились.
Argons
13.07.2016 06:45Да как раз моя Sega трудилась как игровой автомат в клубе, поэтому набор игр соответствующий.
Fedcomp
14.07.2016 23:27А чем версия sotn для PS1 лучше?
xHR
14.07.2016 23:45Ничем. Единственный минус версии Сатурна — японский язык. А так-то в ней и уровней больше, и аудио-треков, и играбельных персонажей, и монстров…
moozooh
15.07.2016 01:04+1Она оригинальная, а сатурновская — корявый порт с неё. Загрузок больше и они длятся дольше, эффекты прозрачности заменили убогим дизерингом, пиксельную графику тупо растянули по горизонтали (версия для PS1 рендерилась в 256 точек по ширине, сатурновская в 320 — разрешение ниже этого система не поддерживала), из-за чего все спрайты перекорёжило. С точки зрения геймплея в сатурновской версии чуть больше плюшек, но единственная значимая из них, как по мне, — возможность игры за Марию Ренард (у неё довольно интересный набор движений, хоть и не такой разнообразный, как у прокачанного Алукарда). Что касается багов, то обе версии дырявые насквозь.
keydon2
12.07.2016 22:58«В отличие от Playstation, оперирующей треугольниками в качестве базовых геометрических примитивов, Saturn отрисовывал четырёхугольники. При правильном использовании, такой рендеринг давал меньше искажений текстур, чем в играх Playstation. Аппаратная часть, нацеленная на четырёхугольники, и на 50% больший объём видеопамяти также давали Saturn преимущество в 2D-играх.»
Расшифруйте пожалуйста. Не понимаю почему четырехугольники лучше. Ведь они фактически состоят из треугольников. Что мешало накладывать текстуры на треугольники по такому же алгоритму как и на половину четырехугольника?Calvrack
13.07.2016 00:53Вероятно речь о встроенной компенсации перспективных искажений при текстурировании. А при чем тут четырехугольники сказать сложно.
master_of_mastery
13.07.2016 09:50Кроме того, наличие эмулятора позволит сделать копии многочисленных дисков для Saturn и сохранить их для истории.
Копии, вроде таких, уже снятых тысячу лет назад?
road_t
13.07.2016 15:33Помню, как изучал тему по немногочисленным журналам и пытался понять, на что раскручивать предков: на 3DO, PlayStation или Saturn. Выбор был очевиден, но поиграть в Nights into Dreams до сих пор хочу, вероятно, благодаря работе Dr. Abrasive сделать это будет намного проще.
Вообще, конечно, история Sega – это пособие для маркетолога «как угробить любой продукт».Acuna
13.07.2016 15:55+1Анекдот есть хороший на эту тему: «Хакер — это человек, который может наступить на грабли, даже если они спрятаны в сарай и закрыты на замок».
Извиняюсь, не в ту ветку.
Snooper
14.07.2016 13:24Из данной статьи может создаться впечатление, что защиту взломали только сейчас. Однако чиповать консоль и играть на самописных болванках можно уже много лет.
overmind88
Эх, как я мечтал в детстве о такой. Приходил в единственный магазин в городе, где она продавалась и подолгу пялился на неё.
herr_kaizer
Вы её хоть вживую видели :) Я только в журналах.
Settler1
Я тоже только в журналах и честно говоря думал что эта та-жа Мега Драйв, но на дисках, а теперь понял что это всего лишь обратная совместимость, а возможности у неё куда шире.
Acuna
А, то есть все эти Мега Драйвы и Лико — это совсем не то по сравнению с Сатурном? У самого была Лико, у сестры Мега Драйв, даже и не знаю уже, хвастаться ли при этом что мы имели Сегу в живую, или нет) То есть реально отличия существенные кроме дисков?
Snooper
Разница колоссальна. Совершенно разные поколения консолей.
Лико — клон Nintendo Famicom/NES (1983) — 3-е поколение.
Sega Mega Drive/Genesis (1988) — 4-е поколение.
Sega Saturn (1994) — 5-е поколение.
Acuna
Ууууу-ху-ху-ху-хуууу! Ну да, иметь Лико 1983 года в 1995 — это успех :/
Спасибо за информацию, очень интересно для саморазвития.
TheSteelRat
У вас были журналы…
© Monty Python — Four Yorkshiremen