Разработка и ромхакинг > Ромхакинг и программирование
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 и все сдвигается.
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии