Таблица лидеров
Популярные публикации
Отображаются публикации с наибольшей репутацией начиная с 02.03.2026 во всех областях
-
2 балла
-
1 балл«В университете Спагонии после выходных снова звучат радостные голоса студентов. Тейлз обнаруживает удивительный факт в результатах полевых исследований, над которыми все усердно работали. Завязывается оживлённая дискуссия~» — Команда официального японского сайта «Sonic Channel».
-
1 баллЮбилейный арт от Юджи Уэкавы. Команда Героев или Команда Тьмы... что вы выберете? Отправьтесь в путешествие в 2000-е годы, десятилетие, полное знаковых противостояний, незабываемых историй и, конечно же, множества приключений!
-
1 баллВ этом месяце японская команда Sonic Channel посвятила официальный арт Джету из «Sonic Riders». Игре исполнилось 20 лет. 🪶 Легендарный Мастер Ветра. Джет чрезвычайно горд и ревностно оберегает свою репутацию, не желая выглядеть плохо в чужих глазах. Он тяжело переживает поражения и терпеть не может жалость со стороны других, считая её прямым оскорблением своего достоинства. Тем не менее он признаёт свои проигрыши, даже если они произошли из-за непредвиденных обстоятельств, и упорно работает, чтобы превзойти всех своих соперников. Юбилейный арт ещё одного ветерана комиксов - Эван Стэнли.
-
1 баллИ снова я, вот, затарился по случаю своего ДР :} Да, на заднем фоне действительно стоит елка. И нет, убирать ее я не планирую, а почему вы спрашиваете?
-
1 баллЛюбопытная 8-битная игра с приятной стилистикой и уровнями, но очень уж короткая.
-
1 баллКомпания Discotek Media, подарившая миру Blu-Ray-диски с «Hi-sCool! Seha Girls», «Sonic X» и «Adventures of Sonic The Hedgehog», собирается выпустить Blu-Ray диски с «Sonic X» на японском языке с английскими субтитрами! Данное издание будет содержать в себе более улучшенные картинку и звук. В качестве бонуса будут добавлены оба пилота (английский и японский). Дата выхода намечена на зиму 2023 г. Новость от Sonic and all Characters | Ёжик Соник
-
1 баллНу, что же. Пора бы мне уже наконец оставить подробный отзыв на данный аниме-сериал про Соника. В конце лета, в этом году я таки заставил себя посмотреть оригинальную японскую версию полностью, дабы и освежить свои воспоминания о данном творении, и дать ему оценку в соответствии с моими нынешними предпочтениями и восприятием. Начнём, пожалуй. Впервые я посмотрел Соник Икс в 2013 году. Это был третий мультсериал про синего ежа, который я увидел (первыми были SatAM и Андеграунд). К сожалению, ранее мне не удавалось увидеть Икс по телевизору (хотя для многих он, как известно, был первым мультом или даже творением медиафраншизы про Соника, которое познакомило людей с серией). Поэтому моё время знакомства с этим аниме пришлось на появление у меня интернета. Тогда я впервые увидел локализованную русскую версию Икса, которая, как я потом выяснил, печально известна своей ограниченностью и потерянным смыслом, по сравнению с оригиналом. Но я тогда, будучи подростком, и не зная о всех этих нюансах, испытал невероятно положительные эмоции: да это же ведь тот самый Соник, которого я знаю по играм, с такими же персонажами, такой же атмосферой и стилистикой! Я тогда и подумать не мог, что увижу по Сонику что-то подобное, ведь на SatAM и Андеграунд я смотрел с некоторым недоумением: вроде бы и Соник, но... что-то с ним было не так. И тут такое! На эти эмоции, наверняка, повлиял и тот фактор, что в моих краях так уж случилось, что ёж почему-то не снискал популярности, и даже пиратскую продукцию по нему найти было счастьем (сейчас, к слову, такая ситуация стабильно сохраняется, но я на такое меньше обращаю внимания ввиду наличия интернета, понятное дело). Я смотрел весь Икс с большим интересом, меня забавляли многие показанные в разных сериях ситуации, да и персонажи вызывали у меня восторг. Мне казалось, что вот же оно — идеальное воплощение Соника на экране. Но, со временем, я, как уже отметил выше, узнал о существовании оригинальной японской версии Икса, которую, как оказалось, не видел ещё тогда. Немного «побродив» по просторам интернета, я отыскал японскую версию с русскими субтитрами. Качество было такое-сякое, но меня это не остановило. В детстве, что, наверное, неудивительно, я зацепился именно за вырезанные моменты, которые в локализациях сочли неприемлемыми для младшей аудитории. Однако, оригинальный Икс не был тогда мною просмотрен до конца. Хотя, несмотря на это, некоторые моменты уже тогда весьма врезались мне в память: одна только Руж, острая на язык, чего стоит. Мне казалось, что всё это вкупе с первоначальным смыслом, сюжетом, озвучкой и персонажами, делает Икс более зрелым по своему настрою, и оттого более интересным. Но, опять же, всё это были подростковые, школьные годы (где-то 2015—2016). Потом, до следующего просмотра Икса, уже всех серий в оригинальной японской версии, прошли годы, много чего в моей жизни поменялось... И вот, в 2020 году, как уже понятно из начала моего поста, я таки просмотрел оригинальную японскую версию Икса полностью. Вообще, стоит сказать, что за последние несколько лет моё восприятие и предпочтения несколько претерпели изменения. В детские и подростковые годы я почти никогда не вдумывался в сюжет, в смысл происходящего, а я любил лишь побольше «экшОна и смищных шуточек». Как же я тогда много потерял, однако! (Но не буду изливать тут свои сожаления и страдания, это уже совсем отдельная тема по большей части). Сейчас же мои предпочтения поменялись в корне. В последние годы я конкретно так подсел на советский (и не только) кинематограф, который нашёл для себя настоящим бриллиантом, что, в частности, касается драм: интересные сюжеты, затрагивающие важные по сей день жизненные темы и проблемы, запоминающиеся и неоднозначные герои с цепляющей за душу судьбой, порой трагичные моменты — всё это сейчас является моей, так сказать, пищей, благодаря которой я получаю не только много удовольствия, но и возможность поразмышлять над тем, чем я в жизни доволен, а что хотелось бы изменить, как я отношусь к миру и к обществу, которые меня окружают, что правда, а что ложь и прочие философские вопросы. Эти ощущения для меня сейчас ценны, как ничто больше, а уж в сочетании с резко изменившейся и моей жизнью вовсе помогают мне пережить нелёгкие времена. Но к мультипликации я долгое время не возвращался (нехватка времени, текущие «хотелки» и тому подобное влияли, разумеется). Икс стал моим возвращением к ней, да и к сониковской франшизе в принципе. Будучи привыкшим к серьёзному кинематографу, я, честно говоря, хотел получить схожие впечатления и от Икса. И это немудрено: мало того, что он мне самому запомнился как «наиболее продуманное и глубокое произведение», так ещё нередко в отзывах на данное аниме и сегодня можно увидеть схожие слова. Далеко ходить не надо — достаточно уже только взглянуть в тему на этом форуме о лучших сониковских мультфильмах: Икс идёт с большим отрывом, а пользователи пишут в качестве аргументации глубокий сюжет, близость к играм и драматизм. Но получилось ли у меня получить именно такие впечатления после просмотра? Об этом далее я и напишу. Соник Икс я воспринял после долгих месяцев за фильмами вполне привычно: я в целом не отвык от такого явления, как мультипликация (конкретно в данном случае ещё и аниме), и потому происходящее на экране не вызывало у меня сильного, как сейчас говорят, кринжа и недоумения. Однако, отсутствие резкого перехода от высокого кинематографа к мультику о синем еже ещё не говорит о том, что всё так гладко, как того хотелось. И вот тут начинается всё самое интересное. Что можно сказать о сюжете Икса в целом? Он, как уже всем известно, не является каноном для игровой франшизы ввиду своих уникальных особенностей с пространством-временем, персонажами и иными аспектами. (В японском оригинале деление сделано на два сезона, но далее по тексту я буду использовать деление на три ввиду его удобства, да и логичности в целом). Все три сезона чувствуются очень по-разному. Как известно, так получилось, поскольку концепция этого аниме менялась: от оригинальных приключений с перемещением на Землю (первый сезон) до экранизаций игр (второй) и космических странствий (третий). Но отсутствие каноничности и большой контраст между сезонами не являются проблемой — это вполне себе воспринимается как специфика сериала, которая совсем не портит впечатление. А проблемы с пространством-временем, которые вызывают так много споров, в принципе, с поправкой на течение времени в разных мирах, количество перемещений отдельных персонажей между мирами (привет, Эггман), и просто банальными ошибками в работе Изумрудов Хаоса, машин Криса и Эггмана, а также переносным смыслом слов персонажей (и их незнанием/неуверенностью/тупостью), хоть и с трудом, но таки возможно объяснить. В целом, даже беря во внимание тот факт, что я смотрел оригинальную японскую версию, чувствуется, что Икс всё-таки рассчитан на детей — это заметно в очень многих моментах, по которым я дальше пройдусь. Основной недостаток, «преследующий» Икс на протяжении многих серий, — это простота, однообразие и бессмысленность сюжета. Да, именно такую картину мы наблюдаем на протяжении значительного, если не большего количества серий: большинство эпизодов попросту «ни о чём», и не несут никакой смысловой нагрузки. Более того — по сути, где-то половину серий Икса можно просто выкинуть — и сериал от этого совсем ничего не потеряет! Многие серии не привносят в сюжет каких-то подробностей, которые как-то бы раскрывали персонажей и происходящие события. Почти весь первый сезон этим грешит. Да и второй сезон (окромя экранизаций SA1 и 2), а также где-то первая половина третьего, к сожалению, тоже страдают данным недугом. В принципе, учитывая, что Икс ориентирован на детскую аудиторию, такая ситуация на самом деле ожидаемая — создателям нужно показать персонажей в разных ситуациях, обстановках, всё это ненавязчиво и неспеша подать юному зрителю. В принципе, с этой задачей аниме вполне справляется, на экране довольно часто показывается повседневная жизнь людей, и не только. Не всё из этого в конечном итоге имеет смысл, но и скучать при просмотре не придётся. Здесь играет роль и тот факт, что Икс наполнен экшеном, битвами, победами и поражениями — у неискушённого зрителя от такого всегда захватывает дух. Коли уж разговор коснулся экшена и происходящего на экране, остановлюсь на визуальной составляющей, которая всё это нам преподносит. В целом, нарисован Икс в достаточно выдержанном для аниме стиле. Многие говорят, мол полно в Иксе статичного экшена: по моим воспоминаниям оно тоже так было, но после просмотра я убедился, что это, по большей части, не так. Действие в большинстве своём довольно динамичное, и занимает оно не так уж мало экранного времени, что безусловно радует. Чаще всего я слышал, что Икс ругают за плохо нарисованные фоны: здесь я особенно не соглашусь. Фоны на самом деле выполнены очень даже неплохо, они достаточно детализированы, разнообразны и раскрывают различные интересные подробности об окружающем мире. Так, в городе, где живёт Крис и где, собственно, происходит основное действие Икса в первые два сезона, можно заметить узнаваемую архитектуру Нью-Йорка. Кстати, о мире Криса: как по мне, создатели сериала весьма умело совместили нашу реальную Землю с вымышленными местами и территориями (достаточно ту же Муразию вспомнить, например) — всё это делает мир по-своему интересным и разнообразным. Но есть в рисовке Икса и изъяны. Чаще всего такое наблюдается в пропорциях персонажей. Особенно сильно мне бросались в глаза большинство моментов с Крим, где она нарисована не вблизи: довольно маленькая голова и очень длинные и тонкие ноги в таких сценах несколько портили впечатление. Про другие недостатки в прорисовке персонажей уже неоднократно указывали: колючки Соника сзади, иногда непропорциональные головы и так далее. Некоторые сцены так и вовсе нарисованы уж очень простенько: иногда толпы людей сливаются в такую «кашу», что у них даже хоть каких-то очертаний тел нельзя увидеть. Частично такие минусы обусловлены спецификой аниме как вида творчества, частично навыками художников, а частично и вовсе банальной попыткой сэкономить затраты времени, ресурсов и денег. Некоторые визуальные решения в плане персонажей вызывают недоумение. Например, почему в третьем сезоне в то время, как Крис и его одноклассники повзрослели, родители Криса не постарели? Да и типа оправданный особенностями машины приём с возвращением раннего физиологического возраста Криса после его перемещения в мир Соника тоже выглядит странной затеей. Наверное, это всё также издержки детской направленности Икса. Но при этом, я просто обожаю то, как в Иксе сделана мимика: она очень разнообразная и выразительная, может быть как резкой, так и довольно комичной. Особенно меня порадовал в этом плане Эггман: когда он смеётся — это что-то! Подробнее мне хотелось бы остановиться на персонажах. И это, честно сказать, один из самых спорных аспектов всего Икса. Так, стоит в первую очередь затронуть главного героя-человека — Криса. Ещё несколько лет назад я говорил, что этот персонаж хорош, и я не понимаю сильной неприязни к нему. Теперь же я более чем понимаю, за что этот персонаж снискал много негатива. Нет, я не могу сказать, что он реально плох, да и в третьей сезоне Крис, будучи взрослым, изменился в лучшую сторону. Однако, в этом персонаже сосредоточено неимоверное количество различных клише и стереотипов о детях, причём поданных совсем не в лучшем виде. Так, Крис постоянно жалуется на то, что он очень одинок, что ему не хватает мамы и папы, которые вечно заняты. При этом, как уже в теме другими пользователями упоминалось, Крис довольно нервный, капризный, и в те моменты, когда всё же родители к нему приходят, порой совершенно не ценит их присутствие с собой. Особенно показательна в этом плане одна из сцен ближе к концу второго сезона, где Крис, будучи в очередной раз расстроенным, прямо говорит своим родителям и всем остальным, что не хочет их видеть. Но это ещё полбеды. Крис жалуется на своё одиночество и свою жизнь, при том, что проживает вместе со своим любящим дедушкой, не менее любящими его Эллой и Танакой, да ещё и материально обеспечен, и у него есть много друзей в школе. Как при всём этом можно быть таким, простите, нытиком? Я этого просто не понимаю. Я, конечно, не забываю, что Икс ориентирован на детскую аудиторию, но всё же давайте отбросим стереотипы и будем честны — Крис по факту обеспечен всем и всеми, чтобы жить в счастье. Приведу даже пример из своей личной жизни: родителей я потерял, ещё будучи маленьким ребёнком (мать — в младенчестве, отца (которого видел, кстати, относительно редко) — в младшем школьном возрасте). Но у меня есть любящие тётя и дядя, которые для меня сейчас ценны, как никто — и у меня даже в мыслях нет тосковать из-за того, что я не вижу маму и папу (которых даже при их жизни почти не видел). Поэтому я не понимаю того, как подан Крис. Как ни крути, но настоящую человеческую природу не обманешь — не к тому больше привязываешься, кто типа «главнее в роду», а к тому, с кем ты больше времени провёл и кто подарил тебе больше самых разных жизненных эмоций, впечатлений и любви. Отдельно стоит отметить излишнюю привязанность Криса к Сонику. Да, те впечатления, которые мальчику подарил ёж, для него стали чем-то поистине впечатляющим. Да и, как сказал сам Соник, он обязан жизнью Крису за то, что последний спас ежа из бассейна. Но, как уже люди ранее говорили, на протяжении первых двух сезонов Крис нередко выступал балластом для ежа и остальных. Но более всего, конечно же, надо упомянуть сцену, когда Крис не дал Сонику вернуться в свой мир вслед за остальными. Эгоизм здесь взял над Крисом верх, а ведь можно было бы поступить так же, как и все остальные. Да, прощание с теми, кто оставил сильные впечатления — не так легко, что у других людей при прощании с друзьями Соника и было видно, но всё же надо уметь побороть свои соблазны. Тем не менее, в третьем сезоне Крис стал уже другой личностью, с более сдержанным характером и с большим умом, благодаря чему хоть уже и не так запоминался, но стал действительно полезным помощником для Соника и его друзей. Но не только Крис вызывает у меня спорные впечатления. Так, мне в Иксе совершенно не понравился Тейлз. По сравнению со своим аналогом из игр, той же Овы и даже так ненавистного мною Бума, Тейлз из Икса меня разочаровал в плане своих способностей. Почему лисёнок, который, опять же, в играх и Ове обладал кучей возможностей, мог запросто расправляться с роботами и прочими опасными врагами, быстро бегал и летал, в Иксе вдруг стал таким слабым? Он часто впадает в растерянность, даже порой страх, без Соника чувствует себя беспомощным. И лишь в отдельные моменты Тейлз действительно сам предпринимает важные решения (например, обезвреживание ракеты Эггмана, за что, впрочем, спасибо Эдвенчеру). Кстати, а использовал ли вообще Тейлз ХОТЬ РАЗ за весь Икс свою способность к полёту?! Что-то я этого с ходу даже и вспомнить не могу. Но, есть в Тейлзе и положительные стороны: он по-прежнему показан очень умным, делает впечатляющие изобретения (столько разнообразного лётного транспорта создавать надо уметь). Очень драматично и достойно также показан недолгий роман Тейлза и Космо: чувства лисёнка, когда из крайней необходимости ему пришлось собственноручно убить свою возлюбленную, были очень сильны. Эми в Иксе я хоть и считаю намного лучше неоригинальной зануды из Бума, тем не менее, она тоже вызывает неоднозначные впечатления. Так, с одной стороны, мне понравился её весёлый характер и способность неплохо так навалять врагам, в частности с помощью своего молота, но с другой — она СЛИШКОМ вспыльчива, чем мешает не только Сонику, которого, такое чувство, что за первые два сезона конкретно задолбала, но и порой остальным своим друзьям, а также людям, которые на стороне Соника. В общем, вроде и забавный персонаж, но её чрезмерная вспыльчивость к месту и не к месту порой начинает раздражать. Также хотелось бы отметить, что я разочарован тем, как в Иксе показаны Хаотикс: их выставили явно не в лучшем свете — какими-то уж совсем идиотами. Да, в той же Sonic Heroes Хаотикс всё ещё комичные персонажи, но не недоумки! В Иксе же Хаотикс по большей части выполняют не более чем роль груши для битья, почти никогда не играют в сюжете серьёзной роли. А уж серия, где им из-за своих больных фантазий пришло в голову забрать Крим от Соника и его друзей без чьей-либо просьбы и согласия — ну это уже вообще просто Facepalm межгалактического (символично, однако) масштаба. Достойно Хаотикс были показаны лишь к концу третьего сезона, где они достаточно хорошо помогали в борьбе с Метарексами. И да, хочется мне ещё обратить внимание на тот факт, что персонажи в Иксе СЛИШКОМ болтливые! Они вот ПОСТОЯННО комментируют абсолютно любое действие, явление и вообще всё, что видят, причём иногда совершенно не к месту, по типу «лишь бы сказать». В результате уже вскоре все эти СОНИККУ!!!, КУРИСЭ!!!, КАОСУ ЭМЕРАРУДО!!!1!11! и так далее начинают неслабо так раздражать. Порой прям так и хочется сказать очередному болтуну при таких бессмысленных фразочках из его уст: «спасибо, Кэп!» Казалось бы, я раскритиковал Икс вдоль и поперёк, надежда на лучшее отношение к нему потеряна, можно смело ставить на нём клеймо позора, дать невысокую оценку и выбросить в одну кучу к сомнительным мультам по играм, которые лучше забыть. Но нет, это не так! Не стоит спешить с выводами, так как несмотря на ту гору критики, что я выкатил в адрес Икса, я столь же долго хочу его и хвалить! В частности, я могу отметить, что те серии Икса, которые представляют интерес, они действительно продуманные и осмысленные, можно даже сказать, философские. В первом сезоне в первой же серии очень трогает момент со спасением Соника из бассейна — этот момент на протяжении всего сериала впоследствии показан во флешбеках, и это только увеличивает всю силу и важность этого момента. Подумать только, что Соник действительно мог погибнуть! Серию с Наклзом и Хоуком я особенно ценю, и не только за свою оригинальность и не избитую тематику, но и за то, насколько хорошо показана дружба между этими двумя персонажами — их прощание в конце серии цепляет за душу. Разумеется, вишенкой на торте в виде первого сезона являются две последних серии, где тоже разгораются нешуточные ситуации и сражения, и где Соника от смерти вновь спасает Крис. Очень ценю я экранизации SA1 и 2 во втором сезоне. Я слышал много мнений, мол сюжет этих игр в Иксе исковеркан и подан позорно. Но я с этим в корне не согласен. Да, факт отсутствия каноничности происходящего имеется, но, как по мне, это не делает показанные истории менее цепляющими за душу. Чего только стоят попытки Тикал уговорить своего отца не приносить беды другим народам, битва с Совершенным Хаосом, трагичная история Шедоу, и желание покойной Марии несмотря ни на что. Я сейчас просто пишу об этом, а тем не менее чуть-ли не слёзы на глазах наворачиваются — это ли не умение показать по-настоящему продуманную, осмысленную и трогательную историю, затрагивающую важные жизненные темы? Ах, да, сцена, в которой Крис пытается убедить Шедоу в истинном желании Марии — настоящий шедевр! Как по мне, Крису эта роль подошла лучше, чем Эми. И наоборот, вспоминая хотя бы то, какие же страшненькие вообще были кат-сцены в Эдвенчерах, мне не хочется говорить, что там прям всё значительно лучше подано, чем в Иксе. Хотя, я в SA1 и 2 играл уже давно, и всех подробностей не помню — быть может, стоит освежить память, переиграть в них, и уже тогда сделать окончательный вердикт, где же лучше подан сюжет. Но моих слов о прекрасном сюжете соответствующих серий Икса это всё же не отнимает. Также во втором сезоне хочется отметить битву Крим и Чиза с Эмерлом — их лучшим другом, которого пришлось обезвредить... Сцена довольно сильна, и грусть Крим и Чиза передана впечатляюще. Разумеется, нельзя не упомянуть и последние серии сезона. Они прекрасны всем: трогательным расставанием друзей, разговором Соника и Криса у костра, романтичной встречей Соника с Эми после их относительно долгой разлуки. Говоря о третьем сезоне, а конкретнее — о его второй половине, я могу отметить, что по своей смысловой насыщенности он не менее силён, чем второй, но теперь разросся до масштабов целой вселенной, что очень впечатляет. Вообще, я, наверное, в 99% случаев видел, что людям очень нравится Космо и её народ, ей часто сопереживают и её становится жалко, когда Космо пришлось пожертвовать собой. В то же время, Метарексов считают ужасными (что бы это ни значило) злодеями. Однако мне очень врезалась в память предыстория народа Космо и Метарексов, и я могу отметить, что... не всё так однозначно. Тема войны, пожалуй, сейчас как никогда актуальна и является огромной проблемой для всего человечества, вытекающей из ужасного закона природы — побеждает сильнейший. Эта проблема крайне достойно показана в Иксе с разных сторон: одни хотели мирового господства, другие — освобождения (Молли, Космо), третьи — порядка и покоя во вселенной (Метарексы). В результате лично я могу отметить, что в третьем сезоне нет ни героев, ни злодеев, а финальная серия (в частности, разговор Соника с Дарк Оуком) как бы намекает, что всё это — зацикленный процесс, который нам остаётся лишь принять как должное. Очень удачно в третий сезон вплетён Шедоу, в частности, очень тронула за душу история с ним и Молли. Последняя была верна своей цели до самого конца, несмотря на все тяготы и предательства. Сцена финальной серии, в которой Шедоу стоит возле могилы Молли, — одна из сильнейших за весь сериал вообще. Серия, в которой происходит сражение Наклза с Еллоу Зельквой, тоже очень впечатляет, и создаётся ощущение, будто она делалась с оглядкой на Sonic OVA — очень много получилось сходств и столько же драматизма. Разумеется, не могу не упомянуть знаменитую 77-ю серию: она получилась одной из самых драматичных, а чувства Тейлза переданы так реалистично, что волей-неволей, но проникаешься ситуацией до глубины души. Крайне силён момент, когда Тейлз в истерике кричал на Соника, мол он же обещал, что когда всё закончится, то они вместе с Космо останутся навсегда... Вот как тут не пустить слезу? Я бы сказал, что по своему настрою и идее третий сезон весьма похож на судьбу Шедоу и его покойной семьи: чёрный ёж в третьем сезоне по сути выполнял ту же задачу, которую выполнил в конце сюжета SA2 — стремился дать людям (и другим существам) шанс на возможность обрести счастье. Вот за эти глубокие жизненные темы я и ценю Соник Икс. Понравились мне и большинство персонажей. Соник в Иксе получился очень удачным и именно таким, каким и должен быть: он любит свободу и воспринимает всё происходящее не иначе, как веселье. При этом, Соника нельзя назвать легкомысленным, ибо он как минимум осознавал масштабы беды в третьем сезоне, и уже был настроен серьёзно. Что уж там, угроза его друзьям на его глазах даже представила зрителю (хоть и на несколько мгновений) новую форму Соника — Дарк Соника (хотя, я не понимаю, почему Дарк Соник превратился в какой-то прям культ). Наклз, несмотря на иногда неуместные насмешки над ним, мне в Иксе тоже понравился: это серьёзный герой с тяжкой судьбой, которому нужно всю жизнь охранять Главный Изумруд (поэтому, как я сейчас считаю, Наклза до SA2 и Икса включительно можно назвать самым важным персонажем всей франшизы). Руж тоже неплохо доставляет, впечатляет своими способностями, а пошлые шуточки из её уст в оригинальной версии звучат очень даже уместно. Даже тот же Биг приятно вписывается в Икс, и играет достаточно значимую роль. В общем, радует, что никаких персонажей не оставили без внимания. Похвалить лично мне хочется и персонажей-людей. Я не понимаю, за что их многие так ненавидят. Если не учитывать Криса, о котором я выше уже высказался, люди в Иксе тоже хорошо разбавляют атмосферу. Чак, Элла, Танака, родители Криса — все они запоминаются и порой весьма доставляют (особенно Танака). Очень запомнился Сэм Спид: с одной стороны, он может показаться самовлюбленным и помешанным на попытках всегда только побеждать, но с другой, Сэм явно выглядит человеком умным и даже мудрым. Стоит только вспомнить его слова президенту, когда тот уже, казалось бы, винил себя в неумении сохранять свой статус во время приближающейся катастрофы: «Отбросить гордость ради защиты своего народа — тоже подвиг». Или его же слова всё так же президенту, когда тот говорил, мол ему не стать таким же великим, как Соник и его друзья: «Главное, как и они, никогда не сдаваться». Стюарт и Скарлет тоже играли в сюжете важную роль (весьма тронул их разговор с бывшим участником событий на колонии, от руки которого и погибла Мария, о чём он искренне сожалел), ровно как и Топаз — очень хорошая у Руж напарница, отношения которых даже переросли в дружбу. Одноклассники Криса также по-своему интересны и не выглядят как картонки для массовки, у каждого показаны свои жизнь, характеры, предпочтения и так далее. Да и остальные люди отлично вписались в сюжет Икса (чего только стоит попытка преступной организации скрыть подробности о событиях на колонии, а также избавиться от Соника, Эггмана и других прибывших из параллельного мира). Эггман в Иксе достоин отдельной похвалы. Он показывает себя как злодей, который упорно хочет воплотить в реальность свои намерения, но, в то же время, наглядно демонстрирует, что его целью не является убийство Соника или кого ещё. Особенно впечатляет, как Эггман отчитывал Криса, а также как подставил себя под удар Метарексам, тем самым оказав помощь Сонику. Эггман просто мастерски меняет свои действия в зависимости от ситуации, благодаря чему выкручивается из, казалось бы, безысходных положений. Взять, к примеру, объединение Эггмана с Соником против армии, которая напала на них и на президента, или попытка получить данные о планах Метарексов, представившись им как один из их лидеров. Вся эта неоднозначность личности Эггмана делает его поистине интересным персонажем. Эггман, помимо прочего, неимоверно веселит — это очень комичный персонаж с уникальной, неповторимой харизмой. И его гений, конечно же, нельзя отрицать — взять хотя бы то, как быстро и какие сложнейшие изобретения он постоянно творит. И да, Деко, Боко и Боккун — лучшие роботы-приспешники Эггмана за всю франшизу! Они невероятно веселят (особенно Боккун), а также очень оригинальны, и ощущаются не просто роботами, а даже полноценными личностями. Положительно я отношусь к визуальной стороне Икса. Взять хотя бы стиль, в котором изображены персонажи — это по сути тот самый, великолепный стиль эпохи Adventure, который я до сих пор считаю самым крутым и так сильно ценю. Несмотря на мелкие огрехи вроде колючек Соника при виде сзади, все персонажи выглядят очень приятно, и этого так не хватало в предыдущих мультах про Соника (не считаю шикарной Овы, конечно). Опенинг в оригинальной версии тоже достойный: весьма динамичный, яркий и запоминающийся. И эндинги тоже все достойны похвалы: особенно красив тот, где Соник приходит к Эми. Про оригинальное японское озвучивание Соника я уже неоднократно отзывался с восторгом, и Икс не стал исключением, благо актёры те же, что и в играх, начиная с Adventure. Голоса Соника (у которого довольно часто проскакивают английская речь), Эггмана, Шедоу и Руж — это просто услада для ушей! Да и остальные персонажи озвучены очень достойно. Прекрасным в Иксе получилось и музыкальное сопровождение. Задорная песня опенинга, три такие разные, но одинаково шикарные песни эндинга, и, конечно же, музыка в сериях, которая идеально вписывается в происходящее на экране, будь то битвы или же просто бытовая жизнь героев. Вот и пришло время подводить итоги. Икс — достаточно неоднозначный сониковский мульт, который, однако, больше содержит именно положительных сторон, чем отрицательных. Могу ли я сказать, что это лучший мульт про Соника? Несколько лет назад — безусловно, я так и считал. Но вот сейчас — однако, я пришёл к выводу, что как целостное произведение та же OVA (которую я недавно тоже вновь пересмотрел и оценил в соответствии с моими нынешними предпочтениями) выглядит более достойной звания лучшего мульта про Соника, ибо в случае с Овой мне просто не к чему придраться — почти идеальная экранизация приключений синего ежа: если бы возможно было изменить свой голос в теме лучших мультов про Соника, я бы дал его именно Ове, за которую в той теме отдали несправедливо малое количество голосов. Но да ладно, вернёмся к Иксу: если говорить об оценке, то ему можно было бы дать 7 баллов и забыть. Но, лично у меня рука не поднимается ставить даже такую оценку столь легендарному аниме, которое всё-таки внесло огромный вклад в серию. Да и, кто как, а лично я из-за той смысловой, философской насыщенности, которой так наполнены лучшие серии, готов простить Иксу многое. Поэтому, моя оценка — 9/10. Спасибо, если дочитали столь большой мой обзор до конца. Я просто не мог не поделиться подробными впечатлениями об этом влиятельном творении сониковской франшизы, даже уровня которого серии уже давно так сильно не хватает.
-
1 баллMega PCM - это мой новый DAC драйвер для Соник 1, написанный с нуля. У нас уже есть DAC-драйверы от JMan'а и S1HL, которые предоставляют массу дополнительных удобств по сравнению с родным драйвером Соник 1. Лично я долго время пользовался драйвером от JMan'а, так как лучше всего подходил моим целям. Однако, как и у всех Z80-драйверов, у него были неприятные недостатки и ограничения. По большому счету, все эти "недостатки" вызваны архитектурой железа: процессор Z80 очень ограничен в плане доступа к ROM-секции (доступ осуществляется через банки в 32 кб) и процессор вынужден посылать сигналы в DAC самостоятельно, что привносит в программирование драйвера немалые трудности. В своем драйвере, я постарался избавиться от неприятных ограничений, которыми обладают другие Z80-драйверы. Я стремился сохранить высокую скорость воспроизведения звука, не смотря на то, что код теперь перегружен дополнительными функциями, которые пришлось внедрить, чтобы преодолеть известные ограничения. К моему удивлению, это удалось, в данный момент Mega PCM способен воспроизводить сэмплы быстрее максимальной частоты выхода DAC у звукового чипа YM2612 (~27 kHz), так что все еще остается место для новых возможностей! ;) Возможности Автоматическое переключение банков Про банки можно забыть, располагайте сэмплы где угодно, как угодно. Сэмплы больше не требуется выравнивать по границе в 32 КБ и следить за тем, чтобы они эту границу не пересекали. Неограниченный размер сэмплов Размер сэмплов больше не ограничивается 32 КБ. "Mega PCM" может проигрывать сэмплы любого размера, так что сэмплы могут быть настолько большими, насколько это позволит размер РОМа. Поддержка двух звуковых форматов "Mega PCM" поддерживает форматы 4-bit DPCM и 8-bit PCM. Первый широко применялся в Сониковских играх как основной формат для DAC-сэмплов, так он занимает в два раза меньше места чем обычный PCM. Однако, 8-bit PCM является "родным" форматом для звукового чипа YM2612 Сеги, он занимает больше места, но отличается более хорошим качеством. Расширенное управление воспроизведением: Стоп, Пауза, Повтор, Приоритет "Mega PCM" может приостанавливать и продолжать воспроизведение звука, так что если вы поставите игру на паузу, длинные сэмплы не будут обрезаны после того как вы игру с паузы снимете. Имеется возможности повторять сэмпл (подходит для DAC-песен). Приоритет означает, что воспроизведение сэмпла не будет прерываться другими, пока он не доиграет до конца (подходит для голосов в игре) Панорамирование звука Можно настроить воспроизведение сэмпла только в левом или в правом динамике. До $5F слотов для сэмплов К примеру, драйвер JMan'а позволял не более $1F сэмплов из-за использования в коде 8-битных поинтеров. На самом деле, количество слотов ограничивается только размером памяти, которую занимает таблица сэмплов. Однако SMPS разрешает не более $5F слотов ($81-$CF). Как установить Mega PCM Если вы заинтересовались драйвером и хотите его опробовать, тогда вперед! В этом гиде, я расскажу как вставить драйвер в хак и слегка улучшить SMPS в угоду потребностям нового драйвера. После этого можно с легкостью включать новые сэмплы в игру! Этот гид также содержит маленький бонус: "Как воспроизводить голоса в игре" (см. ниже) Для начала, скачайте этот архив: https://dl.dropbox.com/u/44757401/MegaPCM_Bin.7z Это почти готовая к использованию конфигурация драйвера, включающая в себя сэмплы из Соник 3 (кроме timpani, версия С3 сюда не подходит). Скопируйте все файлы в папку с дизасемблом. Гид написан для дизасембла Hivebrain, а также S1HS. 1. Замена старого драйвера и загрузчика Откройте Sonic1.asm и найдите лейбел 'Kos_Z80', вы увидите следующий код: Kos_Z80: incbin sound\z80_1.bin dc.w ((SegaPCM&$FF)8) dc.b $21 dc.w (((EndOfRom-SegaPCM)&$FF)8) incbin sound\z80_2.bin even Удалите весь этот код, вместо этого вставьте: include 'MegaPCM.asm' Теперь, перейдите к лейбелу 'SoundDriverLoad' и замените весь код на новый: SoundDriverLoad: ; XREF: GameClrRAM; TitleScreen nop move.w #$100,d0 move.w d0,($A11100).l move.w d0,($A11200).l lea (MegaPCM).l,a0 lea ($A00000).l,a1 move.w #(MegaPCM_End-MegaPCM)-1,d1 @Load: move.b (a0)+,(a1)+ dbf d1,@Load moveq #0,d1 move.w d1,($A11200).l nop nop nop nop move.w d0,($A11200).l move.w d1,($A11100).l rts ; End of function SoundDriverLoad 2. Изменение SMPS для работы с Mega PCM Найдите лейбел 'sub_71B4C' (UpdateMusic в S1HS) и чуть ниже найдите этот участок кода: btst #7,($A01FFD).l beq.s loc_71B82 move.w #0,($A11100).l ; start the Z80 nop nop nop nop nop bra.s sub_71B4C ; =========================================================================== loc_71B82: Удалите или закомментируйте этот код. Далее, найдите перейдите к лейбелу 'loc_71C88', найдите и удалите в коде эти команды: btst #3,d0 bne.s loc_71CAC Найдите лейбел 'loc_71C44', в самое начало кода добавьте: move.b ($A04000).l,d2 btst #7,d2 bne.s loc_71C44 move.b #$2A,($A04000).l Следующие изменения позволят Mega PCM приостанавливать воспроизведение сэмплов при паузе и продолжать после нее. Найдите 'loc_71E7C' и почти в самом конце, перед командой BRA, вставьте: move.b #$7F,($A01FFF).l; pause DAC Затем, перейдите к лейбелу 'loc_71EDC' и замените весь код до лейбела 'loc_71EFE' на это: loc_71EDC: adda.w d3,a5 dbf d4,loc_71EC4 lea $340(a6),a5 btst #7,(a5) beq.s @UnpauseDAC btst #2,(a5) bne.s @UnpauseDAC move.b #-$4C,d0 move.b $A(a5),d1 jsr sub_72722(pc) @UnpauseDAC: move.b #0,($A01FFF).l ; unpause DAC И последний штрих. Будем вызывать команду "остановка", когда SMPS останавливает звук. Перейдите к лейбелу 'loc_725B6' (часть кода 'Sound_E4') и прямо перед "bra.w sub_729B6" добавьте: move.b #$80,($A01FFF).l ; stop DAC playback Вот и все! Как пользоваться драйвером Откройте файл MegaPCM.asm. Этот файл включает в РОМ скомпилированный Z80-код драйвера, а также таблицу сэмплов. Чтобы облегчить работу с таблицей, для формирования таблицы и включения сэмплов я создал макросы и константы, которые делают часть работы за вас. Прокрутите код, пока не увидите эту часть: ; --------------------------------------------------------------- ; DAC Samples Table ; --------------------------------------------------------------- DAC_Entry $08, Kick, dpcm ; $81 - Kick DAC_Entry $08, Snare, dpcm ; $82 - Snare DAC_Entry $1B, Timpani, dpcm ; $83 - Timpani dc.l 0,0 ; $84 - dc.l 0,0 ; $85 - dc.l 0,0 ; $86 - dc.l 0,0 ; $87 - DAC_Entry $12, Timpani, dpcm ; $88 - Hi-Timpani DAC_Entry $15, Timpani, dpcm ; $89 - Mid-Timpani DAC_Entry $1B, Timpani, dpcm ; $8A - Mid-Low-Timpani DAC_Entry $1D, Timpani, dpcm ; $8B - Low-Timpani MegaPCM_End: ; --------------------------------------------------------------- ; DAC Samples Files ; --------------------------------------------------------------- IncludeDAC Kick, bin IncludeDAC Snare, bin IncludeDAC Timpani, bin even Первый блок -- таблица DAC сэмплов, в которой указывается какой сэмпл играть и как его играть. Таблица будет загружена в память Z80 вместе с кодом драйвера. Второй блок включает сами сэмплы в РОМ. Макрос 'IncludeDAC' ищет файл с заданными именем и расширением в папке 'dac' дизасембла, которую вы добавили из скачанного архива. BIN-файлы обычно используются для DPCM-формата. Благодаря тому, что Mega PCM поддерживает этот формат, можно воспроизводить любые сэмплы из Сониковских игр без преобразования в формат PCM, что сделает файл в два раза тяжелее при том же качестве звука. Если вы хотите преобразовать PCM в DPCM, используйте конвертер JMan'а: http://selbi.se.funpic.de/s1sndcomp.exe WAV-файл должны быть в формате "8-bit unsigned PCM". PCM звук может также быть представлен файлом с расширением 'RAW' (звуковой поток без заголовка), некоторые трекеры работают с этим форматом. Частота звука может быть любой до ~30 kHz для PCM и ~32 kHz для DPCM (Да, внезапно с более сложным в декодировании форматом мой драйвер работает быстрее, похоже я слишком сильно оптимизировал код. Думаю ему помогает то, что он посылает 2 импульса DAC за цикл воспроизведения.) В действительности, выходная частота DAC у YM2612 ограничивается ~27 kHz (вывод DAC производится за 288 внутренних такта YM), т.е. сэмплы не должны играть быстрее (превышение частоты приводит к потере части посылаемых DAC импульсов). Однако, эмуляторы не эмулируют такую ситуацию и если вы не заботитесь о качестве звука на реальном железе, не обращайте на это внимание. Таблица DAC сэмплов формируется макросом 'DAC_Entry', у которого следующий формат: [asm]DAC_Entry <pitch>, <sample name>, <flags>[/asm] Настоящий 8-байтовый формат, который использует "Mega PCM" вы можете увидеть в определении этого макроса. Pitch (шаг) определяет, как быстро должен играть сэмпл. Чем ниже питч, тем быстрее он играет. Sample Name (имя сэмпла) ссылается на название файла с сэмплом, которое задается макросом 'IncludeDAC'. Flags (флаги) может принимать следующие флаги: * pcm - задает формат PCM * dpcm - задает формат DPCM * loop - заставляет сэмпл повторяться * pri - флаг приоритета, воспроизведение не будет прервано другими сэмплами. В этом режиме, драйвер отвечает только на команды "пауза"/"остановить" * panL - воспроизвести только в Левом динамике * panR - воспроизвести только в Правом динамике * panLR - воспроизвести в обоих динамиках Флаги можно комбинировать, например так: dpcm+panL+loop+pri Замечание: если флаги панорамирования не заданы (panLR/L/R), "Mega PCM" не будет настраивать панорамирование, сохраняя настройки, сделанные SMPS. Бонус: Как воспроизводить голоса в игре Небольшой пример использования "Mega PCM" -- возможность воспроизводить голоса в игре. Я почти не видел этого в хаках, потому все доступные драйвера до этого момента были весьма неудобны в этом плане. Скачайте небольшой клип: https://dl.dropbox.com/u/44757401/V_Hurt.wav Поместите его в папку 'dac' дизасембла. В самом конце файла MegaPCM.asm, прямо перед 'even', запилите: IncludeDAC V_Hurt,wav Теперь нужно добавить новый сэмпл в один из свободных слотов в таблице. Для примера, я выберу номер $84. Итак, нам нужно чтобы Mega PCM проиграл сэмпл в формате PCM и с приоритетом (иначе его перебьют DAC-сэмплы из музыки). Если записать все в таблицу, она будет выглядить примерно вот так: DAC_Entry $08, Kick, dpcm ; $81 - Kick DAC_Entry $08, Snare, dpcm ; $82 - Snare DAC_Entry $1B, Timpani, dpcm ; $83 - Timpani DAC_Entry $07, V_Hurt, pcm+pri ; $84 - 'Hurt' voice dc.l 0,0 ; $85 - <Free> dc.l 0,0 ; $86 - <Free> dc.l 0,0 ; $87 - <Free> DAC_Entry $12, Timpani, dpcm ; $88 - Hi-Timpani DAC_Entry $15, Timpani, dpcm ; $89 - Mid-Timpani DAC_Entry $1B, Timpani, dpcm ; $8A - Mid-Low-Timpani DAC_Entry $1D, Timpani, dpcm ; $8B - Low-Timpani Готово! Теперь сэмпл можно воспроизвести. Однако, чтобы воспользоваться этим, потребуется добавить в игру новую функцию. Найдите код 'PlaySound' и прямо над ним вставьте: ; --------------------------------------------------------------------------- ; Subroutine to play a DAC sample ; --------------------------------------------------------------------------- PlaySample: move.w #$100,($A11100).l ; stop the Z80 @0 btst #0,($A11100).l bne.s @0 move.b d0,$A01FFF move.w #0,($A11100).l rts Новая функция позволяет воспроизводить DAC сэмплы по их номеру. Номер нового сэмпла - $84, воспроизведем его в игре! Перейдите к 'Hurt_Sound' и замените: jsr (PlaySound_Special).l на moveq #$FFFFFF84,d0 jsr PlaySample Теперь Соник будет кричать, когда его бьют. Наслаждайтесь! Исходный код Mega PCM Mega PCM - драйвер с открытым исходным кодом, вот он: https://dl.dropbox.com/u/44757401/MegaPCM_SourceCode.7z Я принимаю любые идеи по улучшению ядра Mega PCM а также сообщения о багах. Вы можете свободно модифицировать драйвер для своих целей или создавать новые продукты на его основе. Счастливых сэмплов!
-
1 баллКак улучшить качество воспроизведения звука в Mega PCM Все мы знаем, как звучит оригинальный сэмпл SEGA в Соник 1: https://dl.dropbox.com/u/44757401/SEGA_Good.wav Но что, если мы попробуем воспроизвести тот же сэмпл во время игры? Когда происходят массивные передачи данных между компонентами системы, работают скрипты по обновлению музыки и многое другое. Тот же самый сэмпл будет звучать так: https://dl.dropbox.com/u/44757401/SEGA_Bad.wav Это распространяется на все сэмплы, воспроизводимые в игре. То есть все ваши басы, ударные будут звучать с искажениями. Качество заметно падает, сэмпл как бы становится "рваным". В этом гиде я расскажу, как решить эту довольно сложную техническую задачу и добиться максимально высокого качества воспроизведения. В конце этого поста также находится приложение - чистый дизасембл, где применен этот гид + небольшой бонус. После этого вы сможете добиться впечатляющих результатов, как, например, этот: Но сначала пожалуй, нам нужно установить, а почему же это происходит? Следующий ниже текст будет содержать много теории и технических деталей. Если вы не хотите вдаваться в невероятные (!) шокирующие (!!) подробности, пропустите следующий пункт. 1. Теоретическое объяснение Здесь проблема не в Mega PCM, а в самом движке Sonic 1. В Сеге, как вы знаете, представлено два процессора - Motorola 68000 и Zilog 80. Сам движок игры работает на мощном 16-битном процессоре M68K, и именно этот процессор управляет по большей частью всеми компонентами приставки. Второй процессор - Z80, используется в Sonic 1 для вывода цифровых сэмплов. Мой драйвер Mega PCM как раз работает на процессоре Z80. Как говорилось выше, во время функционирования игры, движку неизбежно приходится связываться с различными компонентами системы, как звуковые- и видео-чипы, чтобы обновлять звук и изображение. При этом, архитектура приставки накладывает свои ограничения на доступ к ресурсам. Так, например при доступе к звуковому чипу YM2651, процессор Z80 должен быть приостановлен. То же требуется, например, при доступе к памяти Z80 со стороны 68K. Во время игры, Соник 1 останавливает Z80 в следующих случаях: При работе движка SMPS, так как ему нужен доступ к звуковому чипу YM2612. Во время DMA-переноса данных в видеопамять (VRAM). SMPS и DMA-переносы постоянно работают в конце каждого кадра, причем на их выполнение требуется время. Таким образом, Z80 остановки длятся относительно долго, а вместе с тем останавливается работа Mega PCM, а значит, прерывается и обновление DAC, которое целиком лежит на плечах Mega PCM. Из-за неравномерного вывода звука появляются заметные искажения. Для наглядности, представим что у нас есть звуковая волна в форме синусоиды. В идеале она выглядит так: Но в Соник 1, Z80 часто останавливается. В моменты остановок Mega PCM не работает, а значит волна не обновляется. Не получая новых сигналов, звуковой чип будет генерировать последний полученный сигнал. Волна будет выглядеть так: Серые области - периоды, когда Z80 остановлен и звук не обновляется. Если вырезать их из рисунка, получилась бы исходная красивая синусоида, как в первом графике, но из-за остановок в обновлении звука, волна заметно искажается. Задача моего гида - сократить время остановок Z80 до минимума. К сожалению, полностью избавиться от них невозможно, так как они необходимы для доступа к памяти Z80 и YM. Поэтому добиться качественного воспроизведения цифровых сэмплов на Сеге - очень сложная задача, требующая немалых усилий. Но тут я уже постарался для вас, так что вам лишь остается правильно проследовать всем инструкциям! Итак, нам потребуется максимально оптимизировать вышеперечисленные два фактора: SMPS DMA-переносы Именно из этих двух частей и состоит гид. 2. Оптимизация остановок Z80 в SMPS Соник 1 предпочитает останавливать Z80 с самого начала работы SMPS и до ее конца. Это объясняется тем, что звуковому движку в любой момент времени может понадобиться доступ к YM2612 или в памяти Z80 (для управления Mega PCM). Но ведь этот доступ нужен не всегда - большую часть времени движок просто обновляет внутренние события и таймеры, ведь чтение музыкальных файлов и выполнение их внутренних команд занимает большую часть времени. Получается, что Z80 простаивает "просто так" - ведь SMPS обращается к YM довольно редко. Если останавливать Z80 именно в тот момент, когда отдельные процедуры SMPS требуют YM и память Z80 (а не на время выполнения всего кода SMPS), можно добиться нехилой оптимизации. Именно в этом и заключается эта часть гида. Для начала, вам потребуется добавить в свой дизасембл несколько новых макросов. Они заметно упрощают процесс, так как с ними можно избавиться от использования большого и многократно повторящегося кода. ; ============================================================= stopZ80 macro move.w #$100,($A11100).l nop nop nop @wait\@: btst #0,($A11100).l bne.s @wait\@ endm ; ============================================================= startZ80 macro move.w #0,($A11100).l ; start the Z80 endm ; ============================================================= waitYM macro @wait\@: move.b ($A04000).l,d2 btst #7,d2 bne.s @wait\@ endm Добавьте эти макросы в начало sonic1.asm или в файл macro.asm (если у вас S1HS, так будет предпочтительнее). Теперь - за дело! Перейдите к лейбелу sub_71B4C (UpdateMusic в S1HS). В самом начале вы увидете следующий код: move.w #$100,($A11100).l ; stop the Z80 nop nop nop Это код остановки Z80. Так, SMPS останавливает его в самом начале своей главной процедуры и запускает только в самом конце. Этот код нам здесь больше не понадобится, удалите или закоментируйте его. Теперь, перейдите к лейбелу loc_71C44: loc_71C44: move.b ($A04000).l,d2 ;++ btst #7,d2 ;++ bne.s loc_71C44 ;++ move.b #$2A,($A04000).l ;++ move.w #0,($A11100).l ; start the Z80 rts Учитывая, что вы уже установили Mega PCM, этот код будет выглядить, как показано выше. В самом конце - команда, запускающая Z80. Код, помеченный плюсиками (++), это дополнительный код, специально для Mega PCM. Он реализует небольшой трюк, необходимый для Mega PCM (описание этого трюка можно найти в первом посте). Нам этот код еще понадобится, но не в этом месте. Удалите весь код, кроме имени лейбела и rts. С этого момента, SMPS больше не останавливает Z80 во время своей работы. Но есть несколько мест, где остановить его необходимо. Первое такое место - это где SMPS отправляет Mega PCM номер DAC сэмпла. Как я уже говорил, когда 68K обращается к памяти Z80, сам Z80 должен быть остановлен. Идите к лейбелу loc_71C88 и найдите в коде следующую строку: move.b d0,($A01FFF).l Нам нужно, чтобы Z80 останавливался перед ее выполнением, и продолжал работу сразу после него. В этом нам помогут макросы. Просто замените эту строчку на: stopZ80 move.b d0,($A01FFF).l startZ80 Еще остались места, где SMPS дает Mega PCM команды паузы, снятия с паузы и остановки воспроизведения. Перейдите к лейбелу loc_71E7C и найдите: move.b #$7F,($A01FFF).l; pause DAC Дополните это команду таким же образом, после чего она будет выглядеть так: stopZ80 move.b #$7F,($A01FFF).l; pause DAC startZ80 Перейдите к лейбелу loc_71EFE. Прямо над ним, вы увидите: move.b #0,($A01FFF).l ; unpause DAC Опять же, дополните эту команду, как было сделано выше. И последнее, идите к loc_725B6 и дополните команду: move.b #$80,($A01FFF).l ; stop DAC playback И, наконец, SMPS должен остановить Z80 в процедурах обращения к YM. В этот раз, замена кода будет выглядеть сложнее, к тому же мы применим тот самый код для Mega PCM, который убрали в самом начале. Идите к процедуре sub_7272E и замените весь код на этот: sub_7272E: ; XREF: loc_71E6A stopZ80 waitYM move.b d0,($A04000).l waitYM move.b d1,($A04001).l waitYM move.b #$2A,($A04000).l startZ80 rts ; End of function sub_7272E Затем, идите к sub_72764 и замените ее на: sub_72764: ; XREF: loc_71E6A; Sound_ChkValue; sub_7256A; sub_72764 stopZ80 waitYM move.b d0,($A04002).l waitYM move.b d1,($A04003).l waitYM move.b #$2A,($A04000).l startZ80 rts ; End of function sub_72764 Если вы добрались до этого момента - поздравляю! Вы оптимизировали SMPS. Убедитесь, что вы сделали все правильно - постройте РОМ и проверьте его в эмуляторе. Звук должен играть как обычно, и DAC сэмплы должны быть слышны. Если с чем-то возникли проблемы, вы всегда можете проверить себя, сравнив ваши правки с правками в чистом дизасембле, где применен этот гид. Его можно скачать чуть ниже, смотрите Приложения в самом конце. 3. Оптимизация процедур VBlank Соник 1 всегда останавливает Z80 при DMA-переносах во VRAM и CRAM. На самом деле, останавливать процессор в этом случае совсем необязательно. Когда речь идет о DMA-переносе, VDP останавливает M68K, захватывает его шину и переносит данные из любого места (RAM или ROM) в видеопамять на очень высокой скорости. На Z80 это никак не сказывается, он может спокойно себе работать. Но если Z80 захочет обратится к 68K в этот момент (например, если он читает РОМ), он зависнет, ожидая ответа от 68K. Ответ от 68K он получит только, когда DMA-перенос закончится и 68К продолжит работу. Однако, с учетом описанного выше случая останавливать Z80 принудительно (программно) не имеет смысла - он сам остановится в нужный момент. Тем более, на саму остановку уходят дополнительные циклы процессора, как со стороны 68k, так и со стороны Z80. Самое главное - эмуляторы не эмулируют остановку Z80 при DMA-переносах. Так что исключив принудительную остановку, которую делает Соник 1, мы получим колоссальную оптимизацию. На реальной системе такой оптимизации не будет, но все же получится сэкономить некую долю времени. Итак, мы будем работать с процедурой VBlank. Это loc_B10 или VBlank в S1HS. Ее код очень обширен включает множество роутин. Перейдите к loc_BC8, вы увидите следующий код: move.w #$100,($A11100).l loc_BC8: btst #0,($A11100).l bne.s loc_BC8 Узнаете цикл остановки Z80? С ним мы уже встречались не раз. Полностью удалите этот код (включая имя лейбела и одну команду над ним). Теперь, идите к loc_C22. Найдите и удалите эту команду: move.w #0,($A11100).l Это команда заново запускала Z80 после остановки. Перейдите к loc_C76. Вы снова увидите код остановки Z80: move.w #$100,($A11100).l ; stop the Z80 loc_C76: btst #0,($A11100).l ; has Z80 stopped? bne.s loc_C76 ; if not, branch Удалите его. Затем, найдите лейбел loc_D50 (он находится чуть ниже). Там вы увидите команду запуска Z80, после его остановки в loc_C76. move.w #0,($A11100).l Удалите ее. Теперь, вы знаете что делать. Найдите и удалите похожие коды в следующих местах: loc_DAE loc_E64 (move.w #0,($A11100).l расположен чуть выше) loc_E7A loc_F54 loc_FAE loc_1060 (пару строчек выше) loc_1076 loc_10D4 (в самом конце, перед rts) Вот и все! Гид был очень насыщенный и сложный, и если вы со всем успешно справились - это достойно похвал. Теперь качество воспроизведения цифровых сэмплов будет на высшем уровне и вы сможете проигрывать цифровые песни в отличном качестве. 4. Приложение Дизасембл S1HS с установленным Mega PCM и примененным гидом: https://dl.dropbox.c...h_MegaPCM_HQ.7z Этот дизасембл также содержит бонус - на титульнике играет одна из высококачественных цифровых песен из Sonic 1 Megahack: Ultra Edition! Наслаждайтесь!
-
-1 балл
-
-1 баллMarUsca, для левых разговоров есть раздел "Разговоры на любые темы". Там можно интересоваться, что такое Lol и "тихо выть". А в "Тапках и прочем" можно выть еще громче. Но еще одно бессмысленное сообщение в тематическом разделе - и будет не просто ворн, а ворн с молчанкой этак на недельку...
Таблица лидеров находится в часовом поясе Москва/GMT+03:00
