Comments 96
Вопрос только зачем? В игры можно и на эмуляторах поиграть. Также интересует, не подадут ли Nintendo и Sony в суд? Как они это любят делать…
+1
Бесспорно, в игры можно и на эмуляторах поиграть. Вопрос в том, какая у этих эмуляторов точность эмуляции?
Цель проекта — создание абсолютно точного эмулятора Playstation 1.
+23
Сложнее всего сэмулировать аналоговую часть.
Даже если добиться полного соответствия цифрового потока до ЦАПов, звук будет всё равно другой.
А уж про эмуляцию аналоговых искажений видео (особенности цветокодирования PAL, цветовые и геометрические искажения ЭЛТ) и не заикаюсь.
Даже если добиться полного соответствия цифрового потока до ЦАПов, звук будет всё равно другой.
А уж про эмуляцию аналоговых искажений видео (особенности цветокодирования PAL, цветовые и геометрические искажения ЭЛТ) и не заикаюсь.
0
?! И на фига тут процессор восстанавливать?
0
Процессор необходимо, но не достаточно
0
Зачем? Берём программируемую логи и за месяц-другой не напрягаясь делает точную копию. Это цифровая техника. Её поведение детерминировано и описано — ничего не мешает сделать функциональный аналог по совершенно иной технологии.
+11
Зачем?Картинка выглядит неестественно на FullHD LCD-мониторе. Авторы эмуляторов таки пытаются воссоздать ламповый ЭЛТ, применяя весьма сложные фильтры. Зачем-то это нужно?
Моя посылка была в том, что цифровая часть уже эмулируется достаточно хорошо, чтобы в 99% случаев не было разницы, а вот аналоговая мало развивается (задача больше творческая, неформальная)
Берём программируемую логи и за месяц-другой не напрягаясьА есть исходники? Не только процессорного ядра, но и видеокарты.
Кроме того, у PLM может просто не хватить ёмкости.
0
Не только процессорного ядра, но и видеокарты.
Похоже, на плате два крупных чипа: CPU 8606 и чипсет 8561. Я поням ваше недоумение: почему начали с CPU, о котором больше информации. Для точной эмуляции нужно реверсить оба чипа.
+1
Эм, просветите человека далекого от тонкостей эмуляции, что дает абсолютно точный эмулятор? Как это скажется на запускаемых играх?
+5
APE escape english не идет ни на одном эмуляторе. Первая игрушка для dual shock.
+5
Зачем нужна точная эмуляция хорошо написал byuu. Есть перевод его статьи emulate-su.livejournal.com/663058.html
+2
Вопрос только зачем?
Хороший вопрос, но грустный. Не стоит слишком на нём зацикливаться. Анекдот про «я и так жую бананы и ничего не делаю», надеюсь, напоминаит не надо.
+5
Не думаю, что цель именно в самих играх. Тут скорее следующие факторы:
1) Им нравится это занятие.
2) Получить кучу знаний и новый опыт.
3) Получить определенную известность и популярность.
4) Доказать себе, что: «мы можем».
5) Отработать технологию, чтобы позже реализовать эмуляторы других устройств.
6) В случае успеха, с подобным опытом, перед ребятами вероятнее всего откроются дороги в крупные компании.
7) Иные причины.
1) Им нравится это занятие.
2) Получить кучу знаний и новый опыт.
3) Получить определенную известность и популярность.
4) Доказать себе, что: «мы можем».
5) Отработать технологию, чтобы позже реализовать эмуляторы других устройств.
6) В случае успеха, с подобным опытом, перед ребятами вероятнее всего откроются дороги в крупные компании.
7) Иные причины.
0
Очень. Удачи вам в этом нелегком деле. Насколько я понимаю это исключительно for fun, ибо эмуляторов PS1 хватает? Кстати, интересно, как будут обстоять дела с эмуляцией и взломом PS4/XBOX1, все-таки переход на x86 архитектуру должен упростить процесс работы в разы, и нас будет ждать GTA V на PC раньше официального релиза, хехе.
+3
Насчет зачем — ответ выше.
Даже с Playstation 2 уже не реально: На Playstation 1 объем данных уже сейчас с трудом подъемен для современных компьютеров и софта, Playstation 2 еще на 1.5-2 порядка сложнее. А PS4/XBOX — вообще за гранью возможного без лишнего миллиарда долларов
Даже с Playstation 2 уже не реально: На Playstation 1 объем данных уже сейчас с трудом подъемен для современных компьютеров и софта, Playstation 2 еще на 1.5-2 порядка сложнее. А PS4/XBOX — вообще за гранью возможного без лишнего миллиарда долларов
0
Векторизация ручная? Как дела обстоят с автоматической трассировкой подобных фото высокого разрешения? Про PS4/XBOX1 завел речь исключительно в силу смены архитектуры на родную игровым PC.
+2
Насколько я понимаю ручная — но тут лучше подскажут виновники торжества, когда подойдут.
Для автомата как я понимаю нужно было бы намного более высокое разрешение и качество снимков.
Для автомата как я понимаю нужно было бы намного более высокое разрешение и качество снимков.
0
Были попытки автоматической трассировки у ребят с Visual6502, но одно небольшое пятнышко — и всё коту под хвост.
visual6502.org/docs/6502_in_action_14_web.pdf
Там в самом конце есть примеры.
Поэтому мы не стали заморачиваться с этим )
visual6502.org/docs/6502_in_action_14_web.pdf
Там в самом конце есть примеры.
Поэтому мы не стали заморачиваться с этим )
+1
Ну тут исключительно тюнинг. На примерах из статьи можно четко сформулировать критерии для отсечения проблемных мест + принудительная ортогонализация. В любом случае режим полуавтоматический, но профит на объемных схемах должен быть хороший.
+2
Сделать капчу по типу reCaptcha — разбить на кусочки и подсовывать юзерам, чтобы соединяли полоски :) Для валидации давать два куска — один решенный, другой — нет.
+5
+1
На Playstation 1 объем данных уже сейчас с трудом подъемен для современных компьютеров и софта, Playstation 2 еще на 1.5-2 порядка сложнее.
Замахнусь на лавры К.О.: распределённые вычисления, не?
0
Ну фиг знает. Даже для Xbox 1 (именно первый, который до 360) выпущено всего 2 почти неработоспособных эмулятора, а там обычный пентиум 3 и видео от нвидия.
+2
Да, но для 360 не было ни одного (для Xbox на самом деле был один эмулятор cxbx и его дельфовый порт dxbx). Все-таки, согласитесь, что родная архитектура упрощает работу. И, да, там действительно запускается от силы пара-тройка игр, вы правы. Интересно на чем затык вышел. По-моему, особых проблем нынче не должно быть с этим.
+1
Шикарное начало. Удачи вам, ребята! У меня тоже есть PS One, еще играю иногда. Игр хороших много осталось, а вот приставки выпускать перестали.
+1
А есть ли смысл в создании эмулятора ps1 (кроме интереса), если 5 лет назад эмуляторы ps1 на том железе выдавали стабильный fps?
+1
Когда ожидается работа с PS2? :)
Я вот год назад и раньше пытался запустить Gran Turismo на эмуляторе PS2 — все без толку :(
Я вот год назад и раньше пытался запустить Gran Turismo на эмуляторе PS2 — все без толку :(
+1
К сожалению, не судьба :-)
0
UFO just landed and posted this here
Думаю, все же основная цель — получение удовольствия от процесса, слишком дорогой ценой достигается точная эмуляция :)
+8
А потом ррраз — и все три приставки на процессорах разных ревизий…
+15
PSOne… Много для неё эмулов уже разношерстных… Ребята, сделали бы вы подобное для Panasonic 3DO — вам бы памятник поставили нерукотворный.
3DO'шка — это, пожалуй, единственная консоль на которую не сыщешь нормальный адекватный эмулятор днём с огнём, а тот, что есть и вроде бы работает — безбожно бажный.
Так бы вы вернули к жизни целое поколение олдскульных геймеров. У самого приставка эта уже 15 лет лежит полу-живая с оставшейся парой дисков — иногда подключаю и пускаю скупую слезу, а если дело доходит до Wing Commander 3 (от которого не хватает одного из дисков), то и не одну скупую, а реву навзрыд…
3DO'шка — это, пожалуй, единственная консоль на которую не сыщешь нормальный адекватный эмулятор днём с огнём, а тот, что есть и вроде бы работает — безбожно бажный.
Так бы вы вернули к жизни целое поколение олдскульных геймеров. У самого приставка эта уже 15 лет лежит полу-живая с оставшейся парой дисков — иногда подключаю и пускаю скупую слезу, а если дело доходит до Wing Commander 3 (от которого не хватает одного из дисков), то и не одну скупую, а реву навзрыд…
+10
Зачем?! Ну, взяли FPGA и сделали точную копию. А потом при желании ещё и чип по описанию заказать можно Но восстанавливать топологию-то зачем?! Сейчас по тому техпроцессу чипы делать будет сложно и дорого!
-3
UFO just landed and posted this here
Почему невозможно — вполне возможно, скачать файл на компьютер и посмотреть в обычном просмотрщике картинок. Или рискнуть — и кликнуть.
Изначально — это был тестовый снимок в низком разрешении, прежде чем делать «боевой» снимок.
Изначально — это был тестовый снимок в низком разрешении, прежде чем делать «боевой» снимок.
+1
Отлично все смотрится. Памяти надо больше просто.
+2
Опера под Линуксом легко открыла лишь призадумавшись секунд на 5.
+1
Хром, макось. Грузил долго, но смотреть можно абсолютно нормально.
0
>А PS4/XBOX — вообще за гранью возможного без лишнего миллиарда долларов
а почему? там же обычный х86 процессор, который всякими VmWAre эмулируется даже сейчас на ура.
а почему? там же обычный х86 процессор, который всякими VmWAre эмулируется даже сейчас на ура.
0
Эмулируется не само железо, а инструкции, которые оно исполняет. Уровни эмуляции разные. Так-то и для PS1 эмуляторов вагон и маленькая тележка.
0
VMware не эмулирует, а виртуализует, это разные вещи. Эмулируются в какой-то степени только инструкции, выполняемые в режиме ядра, а инструкции, выполняемые в режиме пользователя, исполняются как есть.
Но действительно, если там x86, то вполне можно и виртуализовать. Тайминги сейчас не должны быть проблемой (особенно если использовать идентичное по характеристикам аппаратное обеспечение), запустил операционку — скорее всего можно играть в игры. Вот если там DRM с железом связан, то это проблема, надо DRM эмулировать.
Но действительно, если там x86, то вполне можно и виртуализовать. Тайминги сейчас не должны быть проблемой (особенно если использовать идентичное по характеристикам аппаратное обеспечение), запустил операционку — скорее всего можно играть в игры. Вот если там DRM с железом связан, то это проблема, надо DRM эмулировать.
+1
BarsMonster, у вас отменные посты. Как фанат именно первой PlayStation обеими руками поддерживаю затею.
Может, когда-нибудь её можно будет напечатать на 3D-принтере, а электронику — на специализированном, но тоже персональном устройстве.
И поиграть на своей собственной PS-ке в Tenchu. Было бы очень круто.
Может, когда-нибудь её можно будет напечатать на 3D-принтере, а электронику — на специализированном, но тоже персональном устройстве.
И поиграть на своей собственной PS-ке в Tenchu. Было бы очень круто.
0
А чем делаются такие снимки?
+1
Пылинки и грязь на изображениях не мешают работе?
+1
Мне вот не совсем понятно — восстановили топологию, из нее восстановили структуру на вентильном уровне. Что дальше? Моделировать работу процессора на таком уровне — FPS будет меньше нуля. Восстанавливать с нуля систему команд с учетом всех задержек?
+1
Они за FPS и не говорят, я так понимаю, что это больше PoC, чем попытка выйти на играбельный эмуль.
0
Как вариант: по топологии восстановить принципиальную схему, которую уже заливать в FPGA, либо да, по модели восстановить функционал с точностью, недоступной нынешним эмуляторам.
+2
В эмуляции первой плейстейшн есть немало пробелов:
Как минимум цель работы — закрыть эти пробелы, чтобы все эмуляторы смогли работать без хаков.
Неизвестно назначение регистров тайминга и прочих регистров конфигруации, которые инициализируются при загрузке BIOS (так называемые "delay"-регистры). Неизвестно назначение непонятного регистра 0xFFFE0130 (или как-то так), есть предположения что он управляет работой кеша.
Точные алгоритмы декодирования MDEC тоже неизвестны (таблица квантизации в частности). Есть вопросы по root counters (хотя edgbla провёл исследование, всё равно интересно как они на самом деле работают). Много пробелов в системном сопроцессоре (CP0). Ну и естественно GTE.
Как минимум цель работы — закрыть эти пробелы, чтобы все эмуляторы смогли работать без хаков.
+5
Т.е. на этот процессор нет полного даташита? А как программисты тогда софт писали?
+2
Или я чего-то не понимаю, или кто-то что-то путает. Вот я взял и скачал даташит на MIPS R3051. Последняя ревизия 1994 года. Вполне нормальное описание процессора. Временные диаграммы, регистры — всё есть. Никаких неясностей. CP0 нормально описан. Что и логично. Раз под него массово софт писали, значит есть доступные описания.
Все вопросы по инициализации и регистрам скорее относятся к чипсету, а не к процессору и процессору тут не поможет — нужно искать даташит на чипсет. И сдаётся мне, что намного проще, дешевле и правильнее будет.
Там стоял некий LSI LR333x0 чип. На первый взгляд Гугель говорит, что даташиты на это семейство доступны. Я категорически не понимаю в чём проблема!
Все вопросы по инициализации и регистрам скорее относятся к чипсету, а не к процессору и процессору тут не поможет — нужно искать даташит на чипсет. И сдаётся мне, что намного проще, дешевле и правильнее будет.
Там стоял некий LSI LR333x0 чип. На первый взгляд Гугель говорит, что даташиты на это семейство доступны. Я категорически не понимаю в чём проблема!
0
Подозреваю, что проблема в следующем: вероятно, для приставки использовались специальные заказные микросхемы, которые имели некоторые отличия, которые не описаны в документации, имеющейся в свободном доступе.
0
Михаил написал что там R3051, на самом деле этот процессор кастомный, который только основан на R3051 (некоторые источники утверждают что это был R3000A). Выводы процессора и внутренняя начинка заточены исключительно под нужды PSX. В состав процессора кроме непосредственно (измененного опять же) ядра входят:
— системный сопроцессор 2 (GTE)
— MDEC (декодер MPEG видео)
— контроллер DMA (8 каналов)
— контроллер прерываний
— контролер DRAM
— контроллер шины (интерфейс для ROM BIOS / GPU)
— контроллер SIO (последовательный интерфейс похожий на RS-232)
— контроллер PIO (порт расширений для дополнительных устройств)
— Root counters (4 аппаратных счетчика, один работает на частоте ядра)
— встроенные кеш инструкций и кеш данных (кеш данных с возможностью прямого доступа)
— системный сопроцессор 2 (GTE)
— MDEC (декодер MPEG видео)
— контроллер DMA (8 каналов)
— контроллер прерываний
— контролер DRAM
— контроллер шины (интерфейс для ROM BIOS / GPU)
— контроллер SIO (последовательный интерфейс похожий на RS-232)
— контроллер PIO (порт расширений для дополнительных устройств)
— Root counters (4 аппаратных счетчика, один работает на частоте ядра)
— встроенные кеш инструкций и кеш данных (кеш данных с возможностью прямого доступа)
+4
Всем привет! Мой первый пост в этой секте :)
Ответа на вопрос «Зачем?» целых два:
1. Не всё же водку бухать.
2. Союзпечать поднял цены на сборники японских кроссвордов и мы решили найти альтернативные способы их получения.
На самом деле просто интересно узнать подробные детали работы внутренних узлов процессора )
Ответа на вопрос «Зачем?» целых два:
1. Не всё же водку бухать.
2. Союзпечать поднял цены на сборники японских кроссвордов и мы решили найти альтернативные способы их получения.
На самом деле просто интересно узнать подробные детали работы внутренних узлов процессора )
+23
Скажите пожалуйста, а за чей счет банкет? Оборудование, я так понимаю, не дешевое нужно. А коммерческая выгода — сомнительна.
+1
Оборудование для съемки и вскрытия чипа — у меня уже давно есть, т.к. самому интересно было.
А дальше только руки нужны и графический редактор.
Так что денежных затрат как таковых нет, но нужно огромное количество времени.
А дальше только руки нужны и графический редактор.
Так что денежных затрат как таковых нет, но нужно огромное количество времени.
+2
А что за оборудование, можете описать? Крайне интересно.
0
Обычный китайский металлографический микроскоп, с 5mp USB камерой.
Чипы — травятся в серной кислоте.
Чипы — травятся в серной кислоте.
0
Однако. Даже не представлял, что все так доступно. А можете более подробно описать процесс стравливания слоев?
0
Бросаем кристалл в раствор плавиковой кислоты в воде, или в буферный травитель (плавиковая + фторид аммония) — каждую минуту достаем и смотрим под микроскопом — готово или нужно дальше травить.
Так можно только небольшое количество слоев металлизации травить, неравномерность травления будет накапливаться. Когда много слоев металлизации — остается только шлифовать (это я пока не умею).
Так можно только небольшое количество слоев металлизации травить, неравномерность травления будет накапливаться. Когда много слоев металлизации — остается только шлифовать (это я пока не умею).
0
Шлифовка очевидно делается аналогично шлифовке зеркал для микроскопа (специальными суспензиями). Там насколько мне известно (используя нож Фуко) можно шлифовать с точностью до нанометров.
Имея в наличии электрогравир (дремель) процесс можно значительно ускорить.
Я бы попробовал, если бы у меня был надлежащий микроскоп, чтобы проверять качество шлифовки.
Имея в наличии электрогравир (дремель) процесс можно значительно ускорить.
Я бы попробовал, если бы у меня был надлежащий микроскоп, чтобы проверять качество шлифовки.
+1
Оборудование предоставил habrahabr.ru/users/BarsMonster/, а коммерческой выгоды не ищем. Мы и так ужо работаем)
+3
Векторизацию можно автоматизировать утилитой degate www.degate.org/ и github.com/nitram2342/degate
+3
Молодцы, интересный проект! Только труд это титанический. Будет обидно если через пару лет Sony сама выпустит подобный эмулятор. Вообще, в подобных проектах самое обидное то, что ищешь ответы на загадки, придуманные другими людьми, ответы, которые, по сути, уже существуют.
Думаю, это будет очень интересно. В молодости когда кодил под Z80 (инета тогда не было!), в руки попал журнал, где рассказывалось, что с расширенным набором регистров Z80 можно работать используя не только команды загрузки 16-разрядных регистров, но и любые иные команды, если использовать соответствующие префиксы. Фича эта не была нигде документирована, в ассемблере для неё мнемоники не были предусмотрены! :) И выглядело это примерно так: DEFB #DD; LD L,#13. В реальности константа 13 загружалась в младший бит регистра IX.
В игрушках подобный код тоже использовался, поэтому все эмуляторы ZX Spectrum знают об этих командах. В случае же PS1, всё, конечно, намного сложнее и элементарным подбором кода ничего не найдёшь.
Так что могу только пожелать удачи в вашем нелёгком труде! Ещё раз, молодцы!
Думаю, это будет очень интересно. В молодости когда кодил под Z80 (инета тогда не было!), в руки попал журнал, где рассказывалось, что с расширенным набором регистров Z80 можно работать используя не только команды загрузки 16-разрядных регистров, но и любые иные команды, если использовать соответствующие префиксы. Фича эта не была нигде документирована, в ассемблере для неё мнемоники не были предусмотрены! :) И выглядело это примерно так: DEFB #DD; LD L,#13. В реальности константа 13 загружалась в младший бит регистра IX.
В игрушках подобный код тоже использовался, поэтому все эмуляторы ZX Spectrum знают об этих командах. В случае же PS1, всё, конечно, намного сложнее и элементарным подбором кода ничего не найдёшь.
Так что могу только пожелать удачи в вашем нелёгком труде! Ещё раз, молодцы!
+2
Что там мелочиться, надо на уровне атомов эмулировать! Глядишь и выйдет побочным продуктом Матрица.
-2
идея достойна уважения — но другой вопрос — ЗАЧЕМ? Ведь сейчас проще на Arduino или RaspPi сделать софт эмулятор.
-5
Для тех кто подписался на мой канал Youtube, сейчас я стримлю на платформе Twitch.tv
twitch.tv/ogamespec
twitch.tv/ogamespec
+1
Неплохо было бы еще и amiga 1200 разобрать на куски. Включая чипсеты.
0
0
+4
Начался реверс схем процессора:
+3
Сколько же это работы…
+1
Схем подобного размера в процессоре порядка 400 (на глазок). Но у нас распределенный реверс идёт, активно работают два человека и подключился третий. Если делать командой из 10 человек, то нужно разобрать по 30-40 схем каждому, а это примерно месяц (если не напрягаться)
По времени одна схема занимает один вечер после работы :) (при наличии стандартных ячеек, мы ещё не все ячейки идентифицировали).
wiki.psxdev.ru/index.php/CPU_CELLS
По времени одна схема занимает один вечер после работы :) (при наличии стандартных ячеек, мы ещё не все ячейки идентифицировали).
wiki.psxdev.ru/index.php/CPU_CELLS
0
Sign up to leave a comment.
Начался реверс-инжиниринг процессора PlayStation 1: безумству храбрых поём мы песню!