Автор Тема: Какой PSX дебаггер самый лучший?  (Прочитано 2050 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Raz

  • Пользователь
  • Сообщений: 49
  • Пол: Мужской
    • Просмотр профиля
Есть два вопроса: Какой PSX дебаггер самый лучший? И когда в PSX дебаггере ставится breakpoint на адрес, тогда часто срабатывает несколько инструкций, первая инструкция срабатывает 70 раз в секунду, а другая нужная инструкция срабатывает только раз. Как тогда выйти на эту инструкцию в дебаггере? Например в cheat engine показывает, что одна инструкция срабатывает постоянно, а другая лишь при определенном действии, но в PSX дебаггере выйти на вторую инструкцию нереально практически, что тогда делать? Может есть PSX дебаггер, который показывает количество сработавших инструкций?

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8121
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Re: Какой PSX дебаггер самый лучший?
« Ответ #1 : 02 Июнь 2020, 22:58:35 »
И когда в PSX дебаггере ставится breakpoint на адрес
Что значит на адрес? На запись, на чтение или на PC? В отладчике PCSX можно установить бряк на запись конкретного значения в конкретный адрес. В этом случае ничего лишнего срабатывать не будет. Можно даже бряк на регистр поставить. И если значение более или менее уникальное, то можно довольно быстро найти откуда оно берётся.

Оффлайн Raz

  • Пользователь
  • Сообщений: 49
  • Пол: Мужской
    • Просмотр профиля
Re: Какой PSX дебаггер самый лучший?
« Ответ #2 : 03 Июнь 2020, 00:12:58 »
Что значит на адрес? На запись, на чтение или на PC? В отладчике PCSX можно установить бряк на запись конкретного значения в конкретный адрес. В этом случае ничего лишнего срабатывать не будет. Можно даже бряк на регистр поставить. И если значение более или менее уникальное, то можно довольно быстро найти откуда оно берётся.
Забыл уточнить, бряк на чтение, на запись обычно меньше инструкций используется. И на PC тоже часто бывает какая-то инструкция пишется постоянно, а нужная инструкция срабатывает только раз. Чтоб выйти на необходимую инструкцию, в игре нужно сделать какое-то действие, набрать супер-прием на кнопках например, но так как PSX дебаггер постоянно срабатывает на бряке на чтение, игра постоянно останавливается, и сделать это получается почти нереально.
Например, хочу изменить набор кнопок для разной магии в Castlevania Symphony of the night. Чтоб вместо набора влево, вправо, вверх, вниз + круг, было вверх, вниз + круг. Ставлю бряк на чтение по адресу где находится количество манны и игра постоянно останавливается, набрать прием на кнопках не получается, из-за срабатывания бряка на чтение. Что в этом случае нужно делать?
« Последнее редактирование: 03 Июнь 2020, 00:25:04 от Raz »

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5145
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #3 : 03 Июнь 2020, 01:14:29 »
Raz, я не пробовал, но как вариант в MAME, который правда плохо эмулирует PSX, у breakpoint (PC) и watchpoint (запись или чтение памяти) можно указать условие и действие. В действии можно вывести информацию (printf, tracelog), а позже посмотреть, при этом не должно прерываться выполнение.
В Mesen, например, есть Trace Logger, где можно указать условие при котором в файл запишется инструкция, например когда записывается что-то в адрес $4000. Должно быть что-то похожее для PSX.

По-хорошему должен был кто-то сделать Mednafen с прикрученным расширенным отладчиком, сейчас там есть какой-то, но он вроде так себе.

Оффлайн krocki

  • Пользователь
  • Сообщений: 1250
  • Пол: Мужской
  • ...:::Hacking_Craft:::...
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #4 : 03 Июнь 2020, 01:22:35 »
Raz, Всё просто...;) затираешь код инструкции который тебе мешает при бряке усё...ну или меняешь её с чтения на запись или записи на чтение (зависит от инструкции кода), что бы не мешалась временно и выйдешь на второй бряк кода инструкции, если он там есть.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5145
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #5 : 03 Июнь 2020, 01:35:56 »
Кстати, вы здесь говорите о древнючем PCSX 1.5 with Debugger? Я тоже как-то искал, попадался только этот хлам.
No$PSX - простенький и неточный, тоже не годится.
Rustation NG должен иметь отладчик, но сборку нужно искать или собирать самому, проверить не могу. По коду там поддержка GDB, значит можно как-то приспособить по-человечески. UPD: Он без GUI значит: This is not a standalone emulator, it's an emulator core that implements the libretro interface and can be used to play PlayStation game in a libretro frontend such as RetroArch.

Оффлайн Mr2

  • Пользователь
  • Сообщений: 1618
  • Пол: Мужской
  • Free roaming sorcerer
    • Facebook
    • Просмотр профиля
Re: Какой PSX дебаггер самый лучший?
« Ответ #6 : 03 Июнь 2020, 05:18:11 »
Кстати, вы здесь говорите о древнючем PCSX 1.5 with Debugger? Я тоже как-то искал, попадался только этот хлам.
o_0
Вообще-то это и есть самый лучший PSX дебаггер.

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8121
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #7 : 03 Июнь 2020, 07:53:47 »
Кстати, вы здесь говорите о древнючем PCSX 1.5 with Debugger? Я тоже как-то искал, попадался только этот хлам.
Его древность не отменяет тот факт, что он самый продвинутый в плане отладки (и не только среди отладчиков PSX). А отладчик из командной строки очень неудобный и не информативный. Взять тот же Меднафен -  настолько неудобно постоянно все эти комбинации кнопок использовать, чтобы переключаться между режимами отладки и редактором памяти, что просто кучу времени убивает только одна навигация. И да, если отладчик не умеет делать дампы памяти (и загрузку её обратно), то лично для меня это не отладчик, а инвалид.

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9390
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Re: Какой PSX дебаггер самый лучший?
« Ответ #8 : 03 Июнь 2020, 08:37:16 »
Его древность не отменяет тот факт, что он самый продвинутый в плане отладки (и не только среди отладчиков PSX).
и чем же он продвинутый по сравнению скажем с MAME ?

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8121
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #9 : 03 Июнь 2020, 08:45:56 »
и чем же он продвинутый по сравнению скажем с MAME ?
Не знаю, что там в этом комбайне, не приходилось им пользоваться (да и смысла особого не было). В первую очередь имелись в виду специализированные эмули PSX с отладчиками (PSX 1.13, No$PSx).

Оффлайн dedok179

  • Пользователь
  • Сообщений: 497
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #10 : 03 Июнь 2020, 09:53:56 »
Самый продвинутый в плане дебага это PCSX 1.5 with Debugger. Можно еще NO$PSX попробовать, но придется немного привыкнуть к тамошней системе задания бряков. Еще щас мутится PCSX Redux с продвинутым отладчиком, но он пока в некоторой степени сыром виде

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9390
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #11 : 03 Июнь 2020, 10:13:20 »
Не знаю, что там в этом комбайне, не приходилось им пользоваться (да и смысла особого не было).
ну так попробуй, но развидеть потом будет проблематично ;)

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

Оффлайн Raz

  • Пользователь
  • Сообщений: 49
  • Пол: Мужской
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #12 : 03 Июнь 2020, 10:39:11 »
Запускал cheat engine на PSX играх и показывает количество сработавших инструкций без прерывания процесса, но прога отображает байты как PC ассемблерные инструкции. У cheat engine исходник открытый, думал может можно переделать чтоб прога отображала байты как как PS ассемблерные инструкции (MIPS R3000A). Дебаггер там неплохой, скорей всего получше существующих для PS, и еще и настраиваемый под свои удобства. Тогда получился бы PS дебаггер, который может работать с любым эмулятором. MR2 сделал PSIG, которая отображает PSX инструкции в байтах, например. Или эта идея плохая, что посоветуете?

Оффлайн krocki

  • Пользователь
  • Сообщений: 1250
  • Пол: Мужской
  • ...:::Hacking_Craft:::...
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #13 : 03 Июнь 2020, 12:27:06 »
Raz, Увы СЕ только под пк приложения типа интел асм...в ром залезть типа инструкций кода увидеть нифига...максимум что ты можешь юзать в читэнджине это...память редактить удобно, искать адреса для бряка отладчика в эмуле...ну ещё анализ структуры, если юзашь усё...
конечно можно было написать плагин для СЕ например на той же LUA, что бы он память определённого дипазона в нех переводил в MIPS R3000A и отображал бы в другом окне отладке инструкции psx, проси у автора проги СЕ "Дарк Байта" может сделает. ;)

Оффлайн DrMefistO

  • Пользователь
  • Сообщений: 1306
  • Пол: Мужской
  • Sega Mega Drive reversing
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #14 : 03 Июнь 2020, 18:31:58 »
Советую смотреть на no$psx, если под винду. Очень крутой.

Оффлайн Raz

  • Пользователь
  • Сообщений: 49
  • Пол: Мужской
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #15 : 03 Июнь 2020, 20:39:33 »
максимум что ты можешь юзать в читэнджине это...память редактить удобно, искать адреса для бряка отладчика в эмуле...ну ещё анализ структуры, если юзашь усё...
конечно можно было написать плагин для СЕ например на той же LUA, что бы он память определённого дипазона в нех переводил в MIPS R3000A и отображал бы в другом окне отладке инструкции psx, проси у автора проги СЕ "Дарк Байта" может сделает. ;)
Думал может, самому попробовать это сделать, но в исходнике СЕ не вижу где эти инструкции находятся, не знаю или есть это в исходнике.

Оффлайн megavolt85

  • Пользователь
  • Сообщений: 1464
  • Пол: Мужской
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #16 : 04 Июнь 2020, 03:00:03 »
Советую смотреть на no$psx, если под винду.

вот кстати сам его только и юзаю, просто замечательная весчь

по сравнению скажем с MAME ?

честно говоря не юзал, под линукс есть? а то no$psx прекрасен, но крутить его в виртуалке для меня напряжно, хотелось бы чего то нативного

Оффлайн Mr2

  • Пользователь
  • Сообщений: 1618
  • Пол: Мужской
  • Free roaming sorcerer
    • Facebook
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #17 : 04 Июнь 2020, 04:22:02 »
Ставлю бряк на чтение по адресу где находится количество манны и игра постоянно останавливается, набрать прием на кнопках не получается, из-за срабатывания бряка на чтение. Что в этом случае нужно делать?
Скорее всего мана постоянно читается для отображения её количества на экране. Можешь просто отключить эту инструкцию чтения, через патч в окне отладчика.

Оффлайн krocki

  • Пользователь
  • Сообщений: 1250
  • Пол: Мужской
  • ...:::Hacking_Craft:::...
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #18 : 04 Июнь 2020, 05:22:24 »
как по мне когда юзал... PCSX 1.5 - хорошо японки игры робили на сколько я помню, в отличии от pSX 1.13...
главное что бы игра запускалась нормально у PCSX 1.5 плохо было quicksave'ами не всегда робили...особенно бесят игры где нельзя скипануть заставку типа финал фантази, приходилось кадровой пропуск делать...ну или спидхак на СЕ юзать.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5145
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #19 : 04 Июнь 2020, 06:28:02 »
Вообще-то это и есть самый лучший PSX дебаггер.
Советую смотреть на no$psx, если под винду. Очень крутой.
Я белоручка, думал кто-то пилит GUI отладчик уровня Mesen. Открываю этот PCSX с отладчиком, drag'n'drop нет, окно отладки модальное, чтобы продолжить нужно искать кнопку "Run", у окна Memory нет полосы прокрутки, шрифт не моноширинный и т. д. NO$PSX не смотрел, но он не обновляется, точность там тоже не очень судя по всему.
Для SNES, например, есть bsnes-plus где прикрутили отладку к хорошему эмулятору, ещё есть Mesen-S. Здесь ожидал того же.
Еще щас мутится PCSX Redux с продвинутым отладчиком, но он пока в некоторой степени сыром виде
Это уже похоже на нормальный GUI отладчик, много настроек, есть GDB, поддержка Win/Lin/Mac, активно развивается. Разве что можно было сделать нативный GUI, но это спорно. Видимо, это пока единственная надежда в ближайшем будущем.
Из WIP есть Duckstation, но там почти нет отладочных инструментов.

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9390
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #20 : 04 Июнь 2020, 07:13:51 »
честно говоря не юзал, под линукс есть?
да, есть. описание функционала - https://docs.mamedev.org/debugger/index.html

Оффлайн Raz

  • Пользователь
  • Сообщений: 49
  • Пол: Мужской
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #21 : 27 Июнь 2020, 14:31:04 »
Спрашивал у Дарк Байта по этой теме, чтоб Cheat Engine видел PSX ассемблерные инструкции, он сказал посмотреть или можно найти binutils (Binary Utilities) для mips r3000A. Тогда это можно было бы прикрутить и тогда СЕ сможет видеть mips r3000A инструкции. Искал в интернете, но пока нашел только что-то похожее, но не то что нужно: mips-linux-gnu-as. Есть ли такое в интернете?

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8121
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #22 : 27 Июнь 2020, 20:24:02 »
Спрашивал у Дарк Байта по этой теме, чтоб Cheat Engine видел PSX ассемблерные инструкции, он сказал посмотреть или можно найти binutils (Binary Utilities) для mips r3000A. Тогда это можно было бы прикрутить и тогда СЕ сможет видеть mips r3000A инструкции. Искал в интернете, но пока нашел только что-то похожее, но не то что нужно: mips-linux-gnu-as. Есть ли такое в интернете?
Что-то ты всё усложняешь. Всё гораздо проще. Когда нашёл нужное значение и адрес в CE (назовём его ), вычисляешь с какого адреса в CE начинается RAM PS1 (вбиваешь в поиск строку "PS-X EXE"). Когда нашёл адрес (назовём его $Y), вычисляешь разницу между найденными адресами ($X-$Y=$Z). Затем делаешь дамп памяти в отладчике PCSX и ищешь в дампе ту же строку (PS-X EXE). Допустим строка нашлась по адресу (). Теперь суммируешь оба адреса ($Z+$K=$F) и получаешь абсолютный адрес в RAM PS1, где и находится твоё значение, найденное в CE. Ставишь бряк на запись в отладчике и находишь откуда берётся это значение. Вот и всё.

Оффлайн Raz

  • Пользователь
  • Сообщений: 49
  • Пол: Мужской
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #23 : 28 Июнь 2020, 11:39:07 »
Всё гораздо проще.
Нет, моя цель не в поиске адреса, знаю базовый адрес эмулятора. Моя цель в создании удобного PSX дебаггера в Чит Энджин.

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8121
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #24 : 28 Июнь 2020, 12:47:55 »
Нет, моя цель не в поиске адреса, знаю базовый адрес эмулятора. Моя цель в создании удобного PSX дебаггера в Чит Энджин.
А смысл? Зачем хромой отладчик PSX в универсальном CE, уже имеются специализированные? Ими в любом случае удобнее и эффективнее пользоваться.

Оффлайн Raz

  • Пользователь
  • Сообщений: 49
  • Пол: Мужской
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #25 : 28 Июнь 2020, 16:22:24 »
А смысл? Ими в любом случае удобнее и эффективнее пользоваться.
У Чит Энджин дебаггер в разы удобнее, чем у трех специализированных эмуляторов. Каждый из трех дебаггеров обладает целым рядом неудобств: No$PSX, pSX 1.13, PCSX 1.5 with Debugger. Хотелось бы сделать более удобный дебаггер или допилить дебаггер у PCSX и сделать его удобнее. Например, добавить полосы прокрутки для обзора памяти и инструкций и менять байты в памяти также как у pSX 1.13 и Чит Энджин. У PCSX 1.5 with Debugger исходный код есть где-то?

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8121
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Какой PSX дебаггер самый лучший?
« Ответ #26 : 28 Июнь 2020, 18:20:29 »
У Чит Энджин дебаггер в разы удобнее, чем у трех специализированных эмуляторов. Каждый из трех дебаггеров обладает целым рядом неудобств: No$PSX, pSX 1.13, PCSX 1.5 with Debugger. Хотелось бы сделать более удобный дебаггер или допилить дебаггер у PCSX и сделать его удобнее. Например, добавить полосы прокрутки для обзора памяти и инструкций и менять байты в памяти также как у pSX 1.13 и Чит Энджин. У PCSX 1.5 with Debugger исходный код есть где-то?
Для чего ещё полосы прокрутки, если они уже есть (смотри скрин)? Память удобнее редактировать в хекс редакторе. Для этого и существует возможность дампа памяти. Единственное ,что доставляет неудобство, отсутствие возможности копировать значение регистра.