ReC98: различия между версиями

Материал из Touhou Wiki
Перейти к навигации Перейти к поиску
Нет описания правки
мНет описания правки
 
(не показаны 2 промежуточные версии этого же участника)
Строка 1: Строка 1:
[[Файл:Rec98logo.png|thumb|right|300px|Логотип проекта ReC98]]
[[Файл:Rec98logo.png|thumb|right|300px|Логотип проекта ReC98]]
'''ReC98''' или ''The Touhou PC-98 Restoration Project'' — фанатский проект, основная цель которого — полностью воссоздать утраченный<ref>Согласно [https://github.com/nmlgc/ReC98#why информации в репозитории], ZUN подтвердил потерю данных «ранних игр» в 2002-м году.</ref> исходный код первых пяти игр серии «[[Touhou Project]]», выпускавшихся для платформы [[PC-98]].  
'''ReC98''' или '''The Touhou PC-98 Restoration Project''' — фанатский проект, основная цель которого — полностью воссоздать утраченный<ref>Согласно [https://github.com/nmlgc/ReC98#why информации в репозитории], ZUN подтвердил потерю данных «ранних игр» в 2002-м году.</ref> исходный код первых пяти игр серии «[[Touhou Project]]», выпускавшихся для платформы [[PC-98]].  


ReC98 курируется '''nmlgc''', основателем [https://thpatch.net/ Touhou Patch Center], он же вносит наибольший вклад в разработку. Код открыт для всех желающих и опубликован на [https://github.com/nmlgc/ReC98 GitHub]. Финансирование осуществляется посредством [[w:ru:Краудфандинг|краудфандинга]] и общая стоимость проекта оценивается в ~18 330 €.
ReC98 курируется '''nmlgc''', основателем [https://thpatch.net/ Touhou Patch Center], он же вносит наибольший вклад в разработку. Код открыт для всех желающих и опубликован на [https://github.com/nmlgc/ReC98 GitHub]. Финансирование осуществляется посредством [[w:ru:Краудфандинг|краудфандинга]] и общая стоимость проекта оценивается в ~18 330 €.
Строка 8: Строка 8:


== История ==
== История ==
Первый коммит проекта датируется 27июля 2014-го года и содержит в себе код файла <tt>OP.EXE</tt> (часть игры, содержащая титульный экран и меню) из «[[Mystic Square]]», пропущенный через автоматический [[w:ru:IDA|интерактивный дизассемблер]]. Машинное дизассемблирование используется в ReC98 только для восстановления общей логики работы игры, поскольку полученный таким образом код содержит автоматически сгенерированные имена функций и переменных, поскольку восстановить из машинного кода оригинальные невозможно. Это делает такой код трудночитаемым и потому непригодным для модификации. Кроме того, полученные исходники, как правило, представляют из себя неорганизованный [[w:ru:Спагетти-код|спагетти-код]] с запутанной и трудной для понимания структурой. Потому основная работа, которую делают разработчики — [[w:ru:Рефакторинг|рефакторинг]], то есть приведение кода в читаемый вид, его оптимизация и реорганизация.
Первый коммит проекта датируется 27 июля 2014 года и содержит в себе код файла <tt>OP.EXE</tt> (часть игры, содержащая титульный экран и меню) из «[[Mystic Square]]», пропущенный через автоматический [[w:ru:IDA|интерактивный дизассемблер]]. Машинное дизассемблирование используется в ReC98 только для восстановления общей логики работы игры, поскольку полученный таким образом код содержит автоматически сгенерированные имена функций и переменных. Это делает такой код трудночитаемым и потому непригодным для модификации. Кроме того, полученные исходники, как правило, представляют из себя неорганизованный [[w:ru:Спагетти-код|спагетти-код]] с запутанной и трудной для понимания структурой. Потому основная работа, которую делают разработчики — [[w:ru:Рефакторинг|рефакторинг]], то есть приведение кода в читаемый вид, его оптимизация и реорганизация.


Новые коммиты различного размера вносятся регулярно, и к моменту написания статьи их уже более 700. Тем не менее, спустя более 5-ти лет от начала «реставрации» выполнено лишь 15% работы по [[w:ru:Обратная разработка|реверс-инжинирингу]] и 37% по достижению так называемой «Position independence», то есть переходу от ссылок на [[w:ru:Сегментная адресация памяти|сегмент адресной памяти]] к использованию идентификаторов (переменных). Такая медлительность объясняется трудностью поставленной задачи и тем, что проектом фактически занимается один человек в свободное от работы время.
Новые коммиты различного размера вносятся регулярно, и к моменту написания статьи их уже более 700. Тем не менее, спустя более пяти лет от начала «реставрации» выполнено лишь 15% работы по [[w:ru:Обратная разработка|реверс-инжинирингу]] и 37% по достижению так называемой «Position independence», то есть переходу от ссылок на [[w:ru:Сегментная адресация памяти|сегмент адресной памяти]] к использованию идентификаторов (переменных). Такая медлительность объясняется трудностью поставленной задачи и тем, что проектом фактически занимается один человек в свободное от работы время.


== Ссылки ==
== Ссылки ==
Строка 18: Строка 18:
== Примечания ==
== Примечания ==
{{примечания}}
{{примечания}}
[[Категория:Вспомогательные сведения]]
[[Категория:Сайты]]

Текущая версия от 09:01, 3 декабря 2019

Логотип проекта ReC98

ReC98 или The Touhou PC-98 Restoration Project — фанатский проект, основная цель которого — полностью воссоздать утраченный[1] исходный код первых пяти игр серии «Touhou Project», выпускавшихся для платформы PC-98.

ReC98 курируется nmlgc, основателем Touhou Patch Center, он же вносит наибольший вклад в разработку. Код открыт для всех желающих и опубликован на GitHub. Финансирование осуществляется посредством краудфандинга и общая стоимость проекта оценивается в ~18 330 €.

Задачи

Цель ReC98 — создать читаемый и понятный ассемблерный код, скомпилированная версия которого не отличалась бы от исполняемых файлов ZUN'а. Сравнение производится с помощью инструмента собственной разработки. По задумке, код не будет IBM-совместимым, т.е. будет, как и оригинальный, ориентирован на PC-98, однако его читаемость и использование переменных вместо адресов позволят без проблем переносить код на любую архитектуру и создавать модификации. Также планируется поддержка Unicode, что позволит перевести игры серии на большинство языков мира.

История

Первый коммит проекта датируется 27 июля 2014 года и содержит в себе код файла OP.EXE (часть игры, содержащая титульный экран и меню) из «Mystic Square», пропущенный через автоматический интерактивный дизассемблер. Машинное дизассемблирование используется в ReC98 только для восстановления общей логики работы игры, поскольку полученный таким образом код содержит автоматически сгенерированные имена функций и переменных. Это делает такой код трудночитаемым и потому непригодным для модификации. Кроме того, полученные исходники, как правило, представляют из себя неорганизованный спагетти-код с запутанной и трудной для понимания структурой. Потому основная работа, которую делают разработчики — рефакторинг, то есть приведение кода в читаемый вид, его оптимизация и реорганизация.

Новые коммиты различного размера вносятся регулярно, и к моменту написания статьи их уже более 700. Тем не менее, спустя более пяти лет от начала «реставрации» выполнено лишь 15% работы по реверс-инжинирингу и 37% по достижению так называемой «Position independence», то есть переходу от ссылок на сегмент адресной памяти к использованию идентификаторов (переменных). Такая медлительность объясняется трудностью поставленной задачи и тем, что проектом фактически занимается один человек в свободное от работы время.

Ссылки

Примечания

  1. Согласно информации в репозитории, ZUN подтвердил потерю данных «ранних игр» в 2002-м году.