DC-SWAT Forum
Shenmue 2 - Версия для печати

+- DC-SWAT Forum (http://www.dc-swat.ru/forum)
+-- Форум: Sega Dreamcast (/forum-2.html)
+--- Форум: Games (/forum-11.html)
+--- Тема: Shenmue 2 (/thread-963.html)

Страниц: 1 2 3 4 5 6 7 8 9 10


RE: Shenmue 2 - PVS - 26.12.2018 22:42

megavolt85
Основное понятно, уйти из общей памяти и полноценно выполнять нужные ф-ии - такого места в Дриме нет. Вариант, добавить SRAM, пусть даже будет медленно - я думаю может пригодится только для тестов, например - вам самим, для проверки, что теперь загрузчик точно "в безопасности" - и что и как получается в итоге. Хотя, возможно, у вас какой-то дебаг этой памяти и так есть? Может проще можно это видеть, в какой момент и что игрой пишется в основные 16МБ, тогда, зная где загрузчик - можно и так видеть, наступила игра на него или нет. Может на ПК эмуляторах есть такие дебаги, я не обращал внимания, а на данном старом ПК, мне не до эмуляции Дрима совсем.

SWAT
Если загрузчик вверху (когда на 4800) - это более стандартная ситуация и в большинстве случаев, игры туда ничего не пишут - это хорошо, конечно. WinCE молодец в этом плане, так же, обнадеживает. Вот это интересно: "Есть мысли как не дать игре его убить, возможно где-то сработает, если свободная память будет доступна вообще." - это как? Предположу фантастические варианты - загрузчик убегает от игры, динамически прыгает в другое место, или можно игру послать подальше, мол - занято тут, пошла отсюда Smile


RE: Shenmue 2 - SWAT - 27.12.2018 10:55

Загрузчик попробует найти в бинарнике игры функцию выделения памяти (malloc) и запросит нужное количество для себя по феншую так сказать. Но если память игрой полностью занималась, то она недополучит ее рано или поздно и развалится скорее всего.
Так же еще можно на запуске пережить где-то пока игра шарится там где не надо, а потом вернуться.
Как вариант еще сделать маленький загрузчик и поместить его ровно на место сисколов и будет как с завода Smile
В общем есть варианты, надо просто делать.


RE: Shenmue 2 - PVS - 27.12.2018 21:50

SWAT
Твои варианты еще более навороченные, чем мои, ты прям - писатель-фантаст! В программе же может быть много вызовов malloc, в разное время и пр., тогда нужно - или обыскивать весь код при загрузке или его ждать постоянно, или как? В любом случае, вариант, если загрузчик поместится на месте сисколов (как с завода) - очень будет похож на то, что он будет всегда в "безопасности", мне этот вариант больше всего нравится.


RE: Shenmue 2 - max4 - 27.12.2018 22:07

По поводу цитат просто пока не разобрался как здесь правильно общаться я это делаю не специально вообще на формах общаюсь достаточно редко


RE: Shenmue 2 - megavolt85 - 27.12.2018 22:09

(27.12.2018 21:50)PVS писал(а):  В программе же может быть много вызовов malloc, в разное время и пр., тогда нужно - или обыскивать весь код при загрузке или его ждать постоянно, или как?

ты видимо по диагонали читал, SWAT хочет выделить память под загрузчик при помощи malloc, затем скопировать код загрузчика в эту память, это гарантия того, что игра не затронет загрузчик

P.S. лишнее почистил


RE: Shenmue 2 - PVS - 27.12.2018 23:04

megavolt85
Понятно, я конечно мало представляю себе железо Дрима досконально, просто интересно поговорить немного и представлять лучше для себя.

max4
Я просто пошутил немного, может не удачно, не обращай внимания. Если случайно отправил своё сообщение не правильно - можно нажать под ним "Правка" и отредактировать как надо, в любое время.


RE: Shenmue 2 - SWAT - 28.12.2018 14:01

(27.12.2018 21:50)PVS писал(а):  SWAT
Твои варианты еще более навороченные, чем мои, ты прям - писатель-фантаст!

Знал бы ты что я хотел в этом загрузчике еще воплотить Smile))
Видишь ли, "как с завода" загрузчик будет совсем обрубленным, никаких тебе форматов кроме ISO, ни CDDA ни WinCE (хотя для них кажется и не надо) и возможно даже потребуется дефрагментация файлов образа на накопителе. В общем неудобства, хотелось бы как раз таки не идти таким путем, но если потребуется, то сделать можно я думаю.


RE: Shenmue 2 - PVS - 28.12.2018 21:55

Такой усеченный модуль - можно сделать дополнительным, к основному, полнофункциональному. Если он поместится в какой-то там области, где не будет доступен катана-играм, и этим модулем можно будет проверить этот момент - что игра не давит загрузчик в какой-то проблемной ситуации и проблема в чем-то другом (хотя, из того, что мне сейчас написал Мегавольт, я уже опять сомневаюсь, что о загрузчике - я представляю картину верно).

Такой модуль, нужен будет только для тестов, да, и человек должен понимать - что и для чего он тестирует, что нужен iso, дефрагментация и пр. Т.к. вам самим, физически не под силу протестировать все игры и ситуации, потому, этот модуль вполне может быть для всех, кому интересно проверить. Даже если к нему не будет приделан интерфейс - не страшно, можно ярлыком его запускать или командной строкой, или по-минимуму - какую-нибудь хитрую птичку для него иметь, в том же исолоадер.