| Разработка и ромхакинг > Ромхакинг и программирование |
| Gens Rerecording 11 Win32 r57shell mod |
| << < (3/4) > >> |
| Ti_:
я думаю надо придумать такой скрипт, который автодизасмит коды: 4e75 (и пытаться дизасмить что идет перед rts) + 4eb900?????? 4ef900?????? 41F900?????? 43F900?????? 33FC????00?????? 31FC????00?????? и подобные! Добавлено позже: --- Цитата: evgeny от 26 Июль 2010, 19:20:34 ---А у меня на новом компьютере этот эмулятор стал работать с бешенной скоростью. И не помогает даже futo frame skip (на других версиях генса помогает) --- Конец цитаты --- именно сборка Шелла? или вообще именно этот gensmovie? может "режим совместимости" какой попробуй. |
| r57shell:
Дороботки эмуля сейчас (NOW) не планируются. Только если кто-то сильно хочет. Я пока не находил вещей в хаккинге где я не могу справится с набором который у меня в распоряжении. Может кто конечно парится как из сравнения двух MAP-ов узнать где именно в роме это различие. Так например я в Donald In Maui Mallard нашел чит на Debug Mode, который оказывается уже был описан GManiac-ом. Я нашел за пару минут, ещё хотел добавить супер удары, но там оказалось тонны обработчиков (мне кажется вплоть на каждый отдельный спрайт дональда - свой обработчик клавишь), и я нашел тот код который работает во время скоростного бега за ниндзю :) (опять же быстро). Короче эмулем я рад, VKNTrace использую только для VDP View и спрайтов. Может буду ещё с Z80 разбираться, может и его Debug сделаю. |
| r57shell:
Итак новая версия, вся инфа http://elektropage.ru/index.php/2010-08-18-21-20-37/60-gens11ar57shellmod |
| Ti_:
'поломали' главную фишку мода, а баги так и не пофиксили? (кривой порядок в ramdump, +не видно последней строчки, в dune через н-кое время в дебаг вообще не зайти все тормозить жутко начинает). сам дебаг.. на read (когда нужно проверить область) в VKNTrace показывает откуда читает, а тут нет - и толку? |
| r57shell:
--- Цитата: Ti_ от 06 Сентябрь 2010, 12:40:36 ---'поломали' главную фишку мода --- Конец цитаты --- Какую? И почему в множественном числе. Такто я делал. --- Цитата: Ti_ от 06 Сентябрь 2010, 12:40:36 ---кривой порядок в ramdump --- Конец цитаты --- Это смотря с чьей точки зрения смотреть. В gens так память и выгледит. Хочешь сделать "правильный порядок" для этого есть тулза, которую я недавно выкладывал. --- Цитата: Ti_ от 06 Сентябрь 2010, 12:40:36 ---+не видно последней строчки --- Конец цитаты --- Посмотрим... честно я последнее время Ram Dump не смотрел))) мне Ram Watch хватает. --- Цитата: Ti_ от 06 Сентябрь 2010, 12:40:36 ---в dune через н-кое время в дебаг вообще не зайти все тормозить жутко начинает). --- Конец цитаты --- Посмотрим... --- Цитата: Ti_ от 06 Сентябрь 2010, 12:40:36 ---сам дебаг.. на read (когда нужно проверить область) в VKNTrace показывает откуда читает, а тут нет - и толку? --- Конец цитаты --- Сделаем, если руки дойдут. А так... мне например итак понятно где читают :). Меня больше напрягает что z80 банк не правильно показывает, но оказывается и в CPU->Debug z80 тоже неправильно. Надо это вот пофиксить. Спс за баг репорт, только по подробнее хотелось бы ). |
| Ti_:
--- Цитата: r57shell от 06 Сентябрь 2010, 14:40:51 --- --- Конец цитаты --- Главную сам знаешь - дизасм. (а без фикса скрипта под новую версию пока нет смысла качать) Вопрос в юзабельности.. в vkntrace нормально.. в ватчах нормально.. в стандартном дебаге тоже, а тут наоборот - для просмотра неюзабельно. (а дамп полный(или куском) можно и в vkntrace сделать, но там неудобно, что нельзя смотреть на лету). тем более зачем делать тулзы отдельные, (и ненужные т.к. в winhex есть опция 16-byte swap) Если точнее, думаю тормоза в dune cвязаны что там уж часто юзается стак (и видимо эта опция тупить начинает). ram dump - самая последняя строчка - ее просто нет. [ FFFFF0 ] Дебаг на read:пример я разбираю конфиг юнита (он весит 100байт(число от балды) выделяю область, чтобы найти код по которому читается. Но какой именно из байтов читается в этом эмуле узнать нельзя, а в VKNTrace с этим проблем нет. Может это не столь и серьезный минус - но по функционалу он уступает, поэтому замены одним другим я не вижу (это ты писал, что тебе второй нужен только для VRAM) , а на деле так и так приходится юзать оба. (Причем к твоему приоритет(vs.VKNTrace) по сути только из-за того, что экран не переключается ну и + удобный листинг кода, а watch'и и в обычном gensmovie есть). |
| r57shell:
--- Цитата: Ti_ от 06 Сентябрь 2010, 21:13:27 ---Главную сам знаешь - дизасм. (а без фикса скрипта под новую версию пока нет смысла качать) --- Конец цитаты --- Эээ ну раз скрипт сам не можешь поправить жди пока я поправлю :). --- Цитата: Ti_ от 06 Сентябрь 2010, 21:13:27 ---Вопрос в юзабельности.. в vkntrace нормально.. в ватчах нормально.. в стандартном дебаге тоже, а тут наоборот - для просмотра неюзабельно. (а дамп полный(или куском) можно и в vkntrace сделать, но там неудобно, что нельзя смотреть на лету). --- Конец цитаты --- Исправлю когда руки дойдут. Ещё за одно сделаю GoTo... (Jump to address) --- Цитата: Ti_ от 06 Сентябрь 2010, 21:13:27 ---тем более зачем делать тулзы отдельные, (и ненужные т.к. в winhex есть опция 16-byte swap) --- Конец цитаты --- Скока винхекс стоит?) Любим мы кряки, я его не юзаю, только изредка :). Предпочитаю фрии софт, хотя пиратский тоже юзаю ^_^. Всё решается сторонними прогами. В Notepad++ есть HEX редактор (плагин) незнаю он умеет так делать или нет... но в нём тоже можно неплохо поработать. --- Цитата: Ti_ от 06 Сентябрь 2010, 21:13:27 ---Если точнее, думаю тормоза в dune cвязаны что там уж часто юзается стак (и видимо эта опция тупить начинает). --- Конец цитаты --- Возможно. Сделаю опцию отключить/включить стэк или переделаю его вообще, поидее из-за этого не должен лагать. --- Цитата: Ti_ от 06 Сентябрь 2010, 21:13:27 ---ram dump - самая последняя строчка - ее просто нет. [ FFFFF0 ] --- Конец цитаты --- Ладно, посмотрим. --- Цитата: Ti_ от 06 Сентябрь 2010, 21:13:27 ---Дебаг на read:пример я разбираю конфиг юнита (он весит 100байт(число от балды) выделяю область, чтобы найти код по которому читается. Но какой именно из байтов читается в этом эмуле узнать нельзя, а в VKNTrace с этим проблем нет. --- Конец цитаты --- Этот адресс в конфигах юнитов тусит вроде в a2 )), такчто проблем нет ). Не спорю если адресация сложная то геморно... тоже руки доберутся сделаю. --- Цитата: Ti_ от 06 Сентябрь 2010, 21:13:27 ---Может это не столь и серьезный минус - но по функционалу он уступает, поэтому замены одним другим я не вижу (это ты писал, что тебе второй нужен только для VRAM) , а на деле так и так приходится юзать оба. (Причем к твоему приоритет(vs.VKNTrace) по сути только из-за того, что экран не переключается ну и + удобный листинг кода, а watch'и и в обычном gensmovie есть). --- Конец цитаты --- В моём акцент я ставил на call stack которым я постоянно пользуюсь... (все меню в RRR например, и прочее находится в два счёта с ним). И второй акцент действительно - убрать мелькотню, сделать step into, step over которыми я опятьже постоянно пользуюсь, что незнаю как у тебя, а у меня безбожно бажит в VKNTrace. VRAM кстати посмотреть можно и в простом Gens Rerecording 11a, только вот с дампом непойму... вроде нету. Кстати незнал что WinHex умеет делать 16 byte swap. А из CRAM делать палитру для YY-CHR тоже кто-то умеет?) Добавлено позже: Обновил скрипт, скоро может быть выложу новый эмуль |
| Ti_:
--- Цитата: r57shell от 06 Сентябрь 2010, 22:08:46 ---Ещё за одно сделаю GoTo... (Jump to address) Этот адресс в конфигах юнитов тусит вроде в a2 )), такчто проблем нет ). Не спорю если адресация сложная то геморно... тоже руки доберутся сделаю. сделать step into, step over которыми я опятьже постоянно пользуюсь, что незнаю как у тебя, а у меня безбожно бажит в VKNTrace. А из CRAM делать палитру для YY-CHR тоже кто-то умеет?) --- Конец цитаты --- jump? с полоской прокрутки - это лишнее. (в ram dump уж точно) тогда уж $1E(a2), $1C(a2) и т.д. - (считать каждый раз не айс) step into, step over я ими не пользовался учитывая что да они глючили в VKN ( +там подсветки ветвления нет), поэтому особой привычки нет. (но например тем же step into нашел шаг на котором фремены не работали) А так вообще в последнее время, я без дебага разбираю (лень лезть уточнять), просто по догадкам смотря на код + ватчи, а потом что не так правлю. yy-chr странно что сам не читает сейвы генса (от других ж умеет), ну как вариант можешь добавить в свой эмуль эту фичу. |
| r57shell:
--- Цитата: r57shell от 06 Сентябрь 2010, 22:43:58 ---Возможно. Сделаю опцию отключить/включить стэк или переделаю его вообще, поидее из-за этого не должен лагать. --- Конец цитаты --- Затестил оригинальную дюну - ничего не лагает на моём эмуле который я ещё не менял. Ты наверно опять свой уберхак тестил, он даже просто на эмуле лагает не говоря уже на отладке. Добавлено позже: --- Цитата: Ti_ от 06 Сентябрь 2010, 22:48:51 ---yy-chr странно что сам не читает сейвы генса (от других ж умеет), ну как вариант можешь добавить в свой эмуль эту фичу. --- Конец цитаты --- У меня утилита для VKNTrace может тоже где затупил ). |
| Ti_:
--- Цитата: r57shell от 06 Сентябрь 2010, 23:05:10 ---Добавлено позже: У меня утилита для VKNTrace может тоже где затупил ). --- Конец цитаты --- если для сейвов делать, то надо учитывать что палитра в сейв-файлах gens11 по-другому хранится. (во всех генсах и его модах сейвы совместимы, но если грузить сейв из re-recordinga в обычном, то палитра будет не та, а вот если наоборот -то нормально), да еще в сейве gens11 хранится частота ;) , поэтому я твой эмуль на 100мгц с сейва запускаю ;) Добавлено позже: --- Цитата: r57shell от 06 Сентябрь 2010, 23:05:10 ---Затестил оригинальную дюну - ничего не лагает на моём эмуле который я ещё не менял. Ты наверно опять свой уберхак тестил, он даже просто на эмуле лагает не говоря уже на отладке. --- Конец цитаты --- нет, мне нужен был дизасм мап-файл оригинала, ну я запустил и решил минут 30 поиграть. в итоге минут 5 ждал пока он зайдет в этот дебаг, чтобы файл сохранить. а так он со временем начинает залагивать. Добавлено позже: --- Цитата: r57shell от 06 Сентябрь 2010, 23:05:10 ---Затестил оригинальную дюну - ничего не лагает на моём эмуле который я ещё не менял. Ты наверно опять свой уберхак тестил, он даже просто на эмуле лагает не говоря уже на отладке. --- Конец цитаты --- ну там всего-то юнитов 70 юнитов было... а вот какие-тормоза в dune начинаются при 170-ти юнитах, - даже 100мгц не хватает. |
| r57shell:
--- Цитата: Ti_ от 06 Сентябрь 2010, 23:16:34 ---ну там всего-то юнитов 70 юнитов было... а вот какие-тормоза в dune начинаются при 170-ти юнитах, - даже 100мгц не хватает. --- Конец цитаты --- Поэтому порт круче эмуля. Выложил новую версию. Кстати внимание всем у кого в папке с моим гадящим эмулем появилось qweee.txt что-то на подобии того, удалите нахрен, и скачайте новый эмуль, он это не генерит, это была отладочная информация. Добавлено позже: Блин, опять косяк заметил, да емаё... исходник обновлять не буду ). Добавлено позже: вот, всё, вроде всё сделал. http://elektropage.ru/index.php/2010-08-18-21-20-37/60-gens11a-r57shellmod Добавлено позже: Ti_, не сделал галочку для стэка ). неунывай :lol:. |
| r57shell:
Было замечано что многие регистры неправильно отображаются в z80 дебаге, править очень лень, да и не понятно как... судя по описанию в исходнике эмуляции z80, многие регистры сидят в регистрах (тавтология но это так). Регистры z80 хронятся в регистрах x86 во время эмуляции, что затрудняет их выдёргивать во время неё, может удастся найти место в эмуляции где все регистры можно безопастно выдернуть и хотябы сохранить в памяти отладчика до следуйщей операции. Ещё не понятно почему иногда проскакивает через одну операцию отладчик, и иногда (может мне показалось) не работает StepOver на сall. Кроме этого не знал что rts (вроде так называется команда) тоже вызывает функцию. |
| evgeny:
--- Цитата: r57shell ---А из CRAM делать палитру для YY-CHR тоже кто-то умеет?) --- Конец цитаты --- Я как-то писал такую утилиту, только палитра бралась прямо из сейва генса.(вроде обычного генса) |
| r57shell:
--- Цитата: evgeny от 08 Сентябрь 2010, 12:07:56 ---Я как-то писал такую утилиту, только палитра бралась прямо из сейва генса.(вроде обычного генса) --- Конец цитаты --- Вот в том то и дело, даже не посмотришь где такие утилиты есть ))). Знал бы, не делал... хотя делов то... пару тело движений ). Добавлено позже: Может есть гденибудь дебаг z80 лучше моего? Т.е. нужна поддержка брэйкпоинтов, step into/step over и желательно call stack который я пока не сделал. Ах да, ещё регистры правильно чтобы отображались... я с этим попробую пошаманить... но наверно не сейчас. |
| iddqd:
r57shell, спасибо. Добавь в новости на EmuCR.com. Добавлено позже: Ещё нигде не указана версия/ревизия |
| r57shell:
Ты наверно незнаешь насколько я ленив... Новость могут наверно не только авторы добавлять? а? Ревизия... ревизии и версии пока даже несчитались, не до того было. Собственно этот эмуль уже выполнил цель которую перд ним я ставил - появится новая, может усовершенствую/устраню баги. Устранение багов возможно при дружной просьбе... а так, пока не вижу смысла. Покажите мне тех кто z80 так заинтересован?). |
| evgeny:
Похоже дебаггер не показывает код, если код исполняется в RAM. Кстати я не видел ни в одном эмуле сеги просмотр полной карты тайлов (как графики), было бы неплохо добавить. |
| r57shell:
--- Цитата: evgeny от 27 Сентябрь 2010, 04:59:44 ---Похоже дебаггер не показывает код, если код исполняется в RAM. --- Конец цитаты --- M68k дебаггер? Если да, то возможно... раньше показывался, теперь из-за некоторых обстоятельств может быть не показывается. z80 может выполнять код только в его 0000-4000 (непомню сколько нулей), в роме не умеет, ему M68k закидывает код. --- Цитата: evgeny от 27 Сентябрь 2010, 04:59:44 ---Кстати я не видел ни в одном эмуле сеги просмотр полной карты тайлов (как графики), было бы неплохо добавить. --- Конец цитаты --- Хорошая идея, добавим, только кому оно надо ))). (это тоесть карты слоёв A,B, window я правильно понял?) Добавлено позже: Да, M68k недаёт... скрола нехватает )). |
| evgeny:
Да, я про M68k дебаггер говорил. --- Цитата: r57shell ---Хорошая идея, добавим, только кому оно надо ))). (это тоесть карты слоёв A,B, window я правильно понял?) --- Конец цитаты --- Да, правильно понял, желательно еще, чтобы можно было слои эти как вместе просматривать, так т по отдельности. Незнаю как другим, но мне надо было неоднакратно посмотреть тайловую карту за областью ортисовки+понять в каком положении скроллинг, визуально проще разобраться, чем высматривать и считать байты в видеопамяти. В эмуляторе NES FCE ULTRA хорошо такое реализовано, там можно даже посмотреть номер используемого тайла направив на него курсор. |
| Ti_:
баг: ram dump отображается нормально, но при создании файла дампа в него добавляются 4 лишние символа (первый 00000057: 0D ), файл весит 65540 и все сдвигается. |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |