Эмуляция > Эмуляторы консолей 5 поколения
Нужен эмулятор PS1 не исправляющий баги кода и т.д (EmuHawk подвел)
(1/2) > >>
dedok179:
Ребят, может кто знает есть ли нормальный эмулятор PS1 который не исправляет различные ошибки образов и кода, эмулируя "как есть". Прошлый эмуль подвел меня, не обнаружив некоторые ошибки, из-за чего на реальной консоли не работало то что я до этого тестировал на нем.
MetalliC:
а обычный mednafen вместо его порта для BizHawk пробовал ? еще можно попробовать Xebra/Arbex или no$psx. хотя я лично сомневаюсь, что существует хоть один эмулятор плойки 1в1 эмулирующий то, как работает ее железо.

эмуляторы ничего не исправляют, они просто не эмулируют кучку различных, скажем так, особенностей железяк.
dedok179:

--- Цитата: MetalliC от 15 Август 2019, 10:42:54 ---а обычный mednafen вместо его порта для BizHawk пробовал ? еще можно попробовать Xebra/Arbex или no$psx. хотя я лично сомневаюсь, что существует хоть один эмулятор плойки 1в1 эмулирующий то, как работает ее железо.

эмуляторы ничего не исправляют, они просто не эмулируют кучку различных, скажем так, особенностей железяк.

--- Конец цитаты ---
Нет, еще не пробовал. Но раз в BizHawk его порт, подозреваю что он эту ошибку тоже пропустит.
paul_met:

--- Цитата: dedok179 от 15 Август 2019, 09:19:40 ---из-за чего на реальной консоли не работало то что я до этого тестировал на нем.
--- Конец цитаты ---
А что конкретно не работало?
MetalliC:
я так подозреваю самописный код /перевод/итп

--- Цитата: dedok179 от 15 Август 2019, 11:30:15 ---Но раз в BizHawk его порт, подозреваю что он эту ошибку тоже пропустит.
--- Конец цитаты ---
не факт, на сайте бизхавка пишут что некоторые вещи они выпилили.

еслиб это был порт для ретроарч - я на 90% уверен, что фишки типа проверок на выровненный доступ к памяти (и выпадения проца в исключение) они бы выпилили нафиг, потому что "один фиг в играх не бывает" а без этого на всяких маломощных вздрочьфонах эмулятор будет бегать шустрее.
dedok179:

--- Цитата: paul_met от 15 Август 2019, 14:23:01 ---А что конкретно не работало?

--- Конец цитаты ---
Суть проблемы в том что на самой приставке после меню трейнера не стартует основной файл, на эмуляторе же все нормально работает. Не могу понять в чем и откуда косяк, потому что не трогал код со времен ручной сборки когда еще тестили и отлаживали чтоб багов не было.
MetalliC:
если вы там копируете или патчите какой-то код - возможно какие-то грабли с кешем процессора (который практически нигде не эмулируется), может его нужно сбросить/инвалидировать или что-то подобное.

можно попробовать покурить http://problemkaputt.de/psx-spx.htm#biosfileexecuteandflushcache
dedok179:

--- Цитата: MetalliC от 15 Август 2019, 17:41:30 ---я так подозреваю самописный код /перевод/итпне факт, на сайте бизхавка пишут что некоторые вещи они выпилили.

еслиб это был порт для ретроарч - я на 90% уверен, что фишки типа проверок на выровненный доступ к памяти (и выпадения проца в исключение) они бы выпилили нафиг, потому что "один фиг в играх не бывает" а без этого на всяких маломощных вздрочьфонах эмулятор будет бегать шустрее.

--- Конец цитаты ---
Нет, на mednafen та же фигня, не детектит ошибку
Sharpnull:
dedok179, лучше бы конечно описали что вы там делали и выложили код, чтобы повторить, а спецы по PSX нашли бы проблему.
dedok179:
Код трейнера в папке data. Нет у меня оборудования для тестов, а вслепую уже невозможно работать, так как думал что эмуль точно повторит ошибки консоли.
https://yadi.sk/d/_pQxZIj0yYxWAQ
dedok179:
Интересно что же такое не дает ему дальше меню стартовать, делал ведь на основе заранее проверенного исходника..

Добавлено позже:
Буду очень признателен если кто-нибудь сможет найти ошибку.
MetalliC:
а сам разобраться не можешь ?
ну или хотя бы более внятно объяснить. из твоих сообщения я так понял что был трейнер, и нормально работал в одной игре, но когда его изменили и прикрутили к другой - оно виснет на реальной плойке.
если так - похоже на проблемы с выравниванием. емнип в MIPS два типа команд чтения/записи - выровненные и нет, первые могут читать/писать лишь в адреса кратные 2/4, вторые могут читать/писать по любым адресам но медленнее.
перепроверь и убедись что все переменные и данные выровнены как надо (16бит переменные на чётных адресах, 32бит переменные на адресах кратных 4).

также можешь добавить индикацию работы бордюром, типа поставили один цвет, запустили одну процедуру, поставили другой цвет запустили другую, итд.  чтоб если/когда оно повиснет на реальной железке, по цвету было хоть понятно на какой части кода оно сдохло.
dedok179:

--- Цитата: MetalliC от 16 Август 2019, 20:44:06 ---а сам разобраться не можешь ?
ну или хотя бы более внятно объяснить. из твоих сообщения я так понял что был трейнер, и нормально работал в одной игре, но когда его изменили и прикрутили к другой - оно виснет на реальной плойке.
если так - похоже на проблемы с выравниванием. емнип в MIPS два типа команд чтения/записи - выровненные и нет, первые могут читать/писать лишь в адреса кратные 2/4, вторые могут читать/писать по любым адресам но медленнее.
перепроверь и убедись что все переменные и данные выровнены как надо (16бит переменные на чётных адресах, 32бит переменные на адресах кратных 4).

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

--- Конец цитаты ---
Вот в том и дело, что mips часть при переносе не трогалась вообще, ее как один раз закомпилировали когда мы тестили ее на работоспособность на консоли и не надо больше трогать.

Добавлено позже:
В общем ясно что ничего не ясно, админы затрите пожалуйста пост.
MetalliC:
ясно что, тебе надо - ты и суши мозги ;)
вот к примеру, текст трейнера в main.c, в оригинале все строчки были по 30 символов, а в новом 1я 26, пробовал добить чтоб было как и в оригинале ?
dedok179:

--- Цитата: MetalliC от 16 Август 2019, 22:26:04 ---ясно что, тебе надо - ты и суши мозги ;)
вот к примеру, текст трейнера в main.c, в оригинале все строчки были по 30 символов, а в новом 1я 26, пробовал добить чтоб было как и в оригинале ?

--- Конец цитаты ---
Если бы в них было дело, скорее всего меню бы даже не стартовало, где-то что-то шалит после выхода из while, точно бы понять что. И цвета там не помогут, потому что графику тоже вырубаем чтобы начать asm процедуры запускать и стартовать другой экзешник.
brill:
dedok179, ты вроде собирал шнур для тестов на железе, а по итогу с эмулями возишься...
dedok179:

--- Цитата: brill от 16 Август 2019, 23:02:57 ---dedok179, ты вроде собирал шнур для тестов на железе, а по итогу с эмулями возишься...

--- Конец цитаты ---
Шнур то есть, только все равно не работает то что нужно.
brill:
dedok179, комментируй/отключай участки кода, чтобы можно было примерно понять в какой секции у тебя идет потеря связи.
dedok179:

--- Цитата: brill от 18 Август 2019, 01:41:11 ---dedok179, комментируй/отключай участки кода, чтобы можно было примерно понять в какой секции у тебя идет потеря связи.

--- Конец цитаты ---
На LITELOAD 1.1 все завелось как надо, но нужно передергивать шнур до загрузки нового экзешника, иначе он не стартует почему-то.
dedok179:
Усе, проблема решилась, тему можно закрывать.
Навигация
Главная страница сообщений
Следующая страница

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