Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Sharpnull

Страницы: Назад 1 2 [3] 4 5 6 7 ... 149 Далее
61
А насчет 00 20 00 02 - а там не может быть еще какого-нибудь адреса, то есть не только 02?
В данной игре вряд ли, но как обычно нужно либо тестировать, либо разбирать всю игру.
насколько реально сделать из Gens эмулятора - библиотеку dll, как с GEMS ты делал? то есть чтоб можно было вшивать в программы и запускать из памяти ромы в ней и все такое прочее
Вы хотите взаимодействовать между своей программой и эмулятором. Есть разные способы. Написать Lua-скрипт для форка Gens - мало возможностей, дополнить Gens - не вариант для сложных программ, выделить ядро эмуляции в DLL по аналогии с libretro - много работы и в вызывающей программе много кода, но вы имеете в виду весь эмулятор выделить в DLL. Последний вариант наверно не потребует много изменений, но по-моему лучше оставить эмулятор отдельной программой (EXE) и добавить межпроцессное взаимодействие (IPC), для примера можно посмотреть на GDB отладчик, который работает через сокеты. Т. е. будет форк Gens с набором команд, одна из которых для передачи рома, и внешняя программа передающая команды, которая может быть написана на любом языке, нужна только поддержка данного IPC (сокеты есть почти везде).
игра зависает после инструкции JSR 00006664 по адресу 0x00022A - после нее переходит на адрес 0x006690, хотя по логике вещей должно переходить на 0x006664
Адрес 0x006690 - заглушка для таблица векторов (https://tcrf.net/User:Andlabs/68000_ROM_guide#The_68000_Vector_Table), указанная в заголовке рома, поэтому в случае ошибок переход туда. На PC 226 происходит запись в (A1): move.w #$8134,(A1), но регистр A1 не инициализирован, в Exodus он FFFFFFFF на старте, а записывать 2 байта нельзя по нечётным адресам, поэтому срабатывает прерывание Address Error и переход на заглушку. Gens к тому же игнорирует запись по нечётным адресам, но делает кривую запись, из-за чего были хаки/переводы игры, которые работают только в Gens. Другие эмуляторы не игнорируют, но A1 - ноль, поэтому ошибки нет.
Разработчики наверно хотели записать #$8134 в $00C00004. Для исправления поставьте NOP (226: 4E 71 4E 71). Я брал ром отсюда: http://pscd.ru/games/smd/tsmd/1297-tiny-toon-adventures-3.html.
Для Phantasy Star IV (и позже Pirates! Gold) я делал обработчик падений (Crash Handler) на основе кода RoboCop Versus The Terminator. Он универсальный и помогает поймать такие падения (показывает PC и др.), но я не выкладывал код, может позже. Попробовал в Tiny Toon Adventures 3 и он подтвердил причину падения, заодно я нашёл свою недоработку.
UPD: Exodus у меня вечно падал, ещё неудобный, такое себе.

62
не работает одно ядро процессора
Про умирание одного потока: https://github.com/RPCS3/rpcs3/issues/14517, https://github.com/RPCS3/rpcs3/issues/14648. Пишут, что помогла установка драйвера для аудио :) Попробуйте скачать аудио драйвер с сайта производителя кодека, т. к. сайт производителя материнки явно не обновляется. Похоже баг Qt6 или Realtek.

63
Раз не умеете пользоваться HEX-редактором, скачайте https://www.romhacking.net/utilities/1054/ и примените AMZB-CR52.

64
Здесь Game Genie коды для обхода региональной защиты: https://gamefaqs.gamespot.com/genesis/916377-genesis/faqs/60595. Можете сконвертировать и получить HEX-код (https://gamehacking.org/system/gen), для данной игры AMZB-CR52 = 11EA78:6702, значит открываете ром в HEX-редакторе, переходе к позиции 11EA78 и вводите байты 67 02 (я проверил, работает). Также можно вставить Game Genie в ром через Game Genie Guy!.

65
Картриджи / диски / Famicom Cartridge Schematics & PCBs
« : 21 Февраль 2024, 04:37:48 »
Так понимаю дамп 9999999-in-1 [p1].nes не будет работать "правильно"?
Добавил анимацию микробов в Dr. Mario за счёт графики меню, которое теперь выглядит по-другому. Конец такой же кривой, только артефакты с другой графикой.

66
Картриджи / диски / Famicom Cartridge Schematics & PCBs
« : 20 Февраль 2024, 20:01:35 »
Так понимаю дамп 9999999-in-1 [p1].nes не будет работать "правильно"?
В дампе "9999999-in-1 [p1].nes" нет графики для анимации микробов в банке в Dr. Mario. Дамп этот, если что:
Чтобы сделать на этом же 212-м маппере с тем же размером PRG/CHR анимацию микробов, можно вместо 8КБ CHR для меню сложности вставить графику во время игры с кадром анимации, а тайлы для меню перенести в свободное место где была надпись Dr. Mario во время игры.
Как шевелятся микробы в картридже на фото не представляю, когда будет дамп, узнаем.

67
Картриджи / диски / Famicom Cartridge Schematics & PCBs
« : 17 Февраль 2024, 20:53:44 »
Это нормально для игр камерики или тут просто unrom железо ей не нравится?
У CAMERICA обычно определяется режим NTSC/PAL, но на Dendy виснет, поэтому уже давно сделали хаки на все их игры, лень искать, вот форсированный NTSC и PAL, для Dendy нужен ForceNTSC. В идеале нужно изменить проверку с учётом Dendy и адаптировать музыку. Некоторые их игры для Dendy так просто не работают, я для пары игр подгонял тайминг (Fire Hawk, MiG 29).

69
Sharpnull, Chaotix, неа, не берет, такой же эмуль ставил на куб, все идентично.
Неправильные ромы скорее всего. Для Astebros в файле с позиции 105 байты 44 4F 41 должны быть. Версий Demons of Asteborg не меньше 12, в той же позиции должны быть те же байты. Осилите открыть HEX-редактор?
UPD: Вообще, макс. размер рома разный для разных систем, задаётся как MAXROMSIZE в https://github.com/ekeeke/Genesis-Plus-GX/blob/master/Makefile.wii, https://github.com/ekeeke/Genesis-Plus-GX/blob/master/Makefile.gc, https://github.com/ekeeke/Genesis-Plus-GX/blob/master/Makefile.libretro. Для Wii 15728640 байт, а для GameCube не видно, нужно смотреть что за сборка. Лучше не насиловать старое железо эмуляцией, бессмысленное занятие.

70
Отключение SRAM в эмуляторе нужно было для того, чтобы воссоздать ситуацию, когда она запущена на картридже без SRAM, чтобы потом посмотреть в отладчике, что происходит. Но тем не менее, ни один способ не помог - игра все равно запускалась.
Я пробовал вводить случайные байты в область RAM, в которую копируются данные из SRAM, игре всё равно, хотя там есть контрольная сумма, она не проверяется, есть только проверка на буквы SEGA в начале: если их нет, то загрузка рекордов из рома. Подозреваю на вашей железке проблема из-за записи в A130F1 или не нравится чтение и запись в 200001-20FFFF, а эмулятору всё равно и это наверно правильно. Для BizHawk я изменил в роме 1B4: 00 FF 00 00 00 FF 00 00 (взял ром отсюда https://www.retrorgb.com/segasonic-bros-md-released.html), это не дало работать SRAM (не сохранялись рекорды) и ничего не зависало. FF0000 - специальное значение начального адрес SRAM для Genesis Plus GX.
Есть ли способ найти обращения к SRAM не гоняя игру в отладчике?
Поиском в роме нет больше использования 00 A1 30 F1 и 00 20 00 02, скорее всего работа с SRAM только области рома 1A200-1A297. Вызовы этих функций только одному находятся, можно было RTS поставить в начале этих функций, вместо убирания вызовов.

73
Сбой при запуске службы "amdryzenmasterdriverv22" из-за ошибки
У меня такая ошибка, она не связана с текущей проблемой. Пишут, что нужно удалить HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\AMDRyzenMasterDriverV20 и перезагрузить систему, я сам попробую позже. UPD: После удаления и перезагрузки в событиях ошибка уже о V20 и в реестре ветка возвращается :) Я вообще не собирался пользоваться AMD Ryzen Master, это с драйверами для видеокарты что-то ставится, когда видит проц от Ryzen.
UPD2: Удаление ветки AMDRyzenMasterDriverV22 убирает ошибку и она не возвращается. Это вряд ли на что-то влияет, кроме ошибки в журнале, процесс CPUMetricsServer.exe работал до и работает после.

Повторю, это не решает текущую проблему, которая может быть связана как с софтом так и с железом. Если у вас чёрный экран в обоих эмуляторах, это может быть связано с Vulkan, нужно пробовать эмулятор с выбором другого API и пробовать игры с Vulkan на вылет (как RDR2). Пробовать другой видеодрайвер (WHQL) и т. д.

74
Они походу зашифрованы
Имена 2D77-2DA0 в файле, символы от 00 до 2B соответствуют тайлам из массива 209C-20C7. Этот массив используется для ввода в алфавитном порядке, вы можете его изменить для исправления порядка в вашем переводе: в оригинале 24 0A 0B 0C, это "-ABC", у вас "-АБШ", если заменить на 24 0A 0B 20 будет "-АБВ" и т. д.

75
Не помогло.
Там может быть и BCD запись (вряд ли), скиньте ром, уже давно посмотрели бы.

76
Попробовал, не помогло.
Ищите на 1 меньше кол-ва игр, а не больше: счёт от 0, поэтому либо кол-во игр, либо -1.
Можете примерно объяснить, как через отладчик искать значение?
Для NES в Mesen в Memory найти адрес с индексом выделенной игры, при сдвиге курсора в меню многоигровки это будет видно (либо через поиск читов). Поставить Breakpoint на чтение, при сдвиге курсора случится остановка на коде например LDA $33 | CMP $3C, тогда значение хранится в $3C и было записано ранее, нужно ставить Breakpoint на запись в $3C, но туда тоже могли записать из другого RAM адреса, тогда уже запись туда отслеживать. Если вида LDA $33 | CMP #$07 для 8 игр, тогда это и есть лимит. Также нужно менять переход от 1-го игры к последней похожим образом.

77
в итоге везде 30 к/с, но какие-то дерганные
Проверьте график Frametime через MSI Afterburner или CapFrameX, рваный график указывает на проблемы и так играть плохо несмотря на FPS. На всякий случай, убедитесь, что работает дискретная видеокарта. И вдруг RAM не в двухканальном режиме, также поиграть с настройками.
UPD: Вот прошлогодний тест yuzu и Ryujinx на 10400F+GTX970 https://youtu.be/t2TAZv73VxA?t=875, yuzu выдаёт 30FPS, но это без увеличения разрешения.

78
он bin-файлы не видит, smd, md, zip, 7z тем более. А игры формата gen днем с огнем не найти.
:D Формат у файлов с расширением .bin, .gen, .md одинаковый, иногда могут по ошибке назвать как .smd, но .smd как раз другой никому ненужный формат. Так что берёте скрипт, терминал или свои ручки и переименовываете. Возможно эмулятор открывает только игры из списка: https://github.com/magicseb/fbanext/blob/master/gamelist.txt, нужно правильно назвать и чтобы контрольная сумма совпала: https://raw.githubusercontent.com/magicseb/fbanext/master/src/burn/drv/megadrive/d_megadrive.cpp.
FBAnext360 beta 2.2 - он вообще новее или старее FBANext 0.2.97.31
Поиск мне говорит, что 1-й вышел в январе 2011, а 2-й в августе 2014.

79
будет ли Precision X работать с Founders Edition или только с картами EVGA?
Судя по описанию, будет работать с любыми, но для EVGA доп. возможности. EVGA больше не делает видеокарты и вряд ли будут обновлять программу, придётся переходить на MSI Afterburner или что там ещё.

80
Какую RTX 4080 ВЫБРАТЬ? от VIK-off
UPD: 4080 устарели, лучше взять 4080 Super, а то будут лохом называть.
UPD2: Отдельно про RTX 4080 Msi Suprim X

81
Картриджи / диски / Famicom Cartridge Schematics & PCBs
« : 09 Февраль 2024, 17:04:12 »
есть у кого нибудь соображения что это и для чего?
В исходнике NintendulatorNRS для маппера 212:
int MAPINT readProtection (int bank, int addr) {
return *EMU->OpenBus | ((addr &0x10)? 0x00: 0x80);
}
...
EMU->SetCPUReadHandler(0x6, readProtection);
EMU->SetCPUReadHandler(0x7, readProtection);
В роме 9999999-in-1 [p1].nes что я нашёл не читается $6000-7FFF в меню и в Dr. Mario и может вообще там не нужно.
в Dr.Mario микробы не анимированы, статичные почему то, в таком сборнике из детства микробы шевелились
Оригинал на MMC1 с CHR 32KiB, в 9999999-in-1 [p1].nes только 16KiB, поэтому нет заставки, анимации и какого-то дерева с животными. Может вам повезло и картридж был с хаком получше или полным CHR, но тогда это не маппер 212.

82
Invincibility (Flashing) в формате  Game Genie
[SMD/GEN] Life on Earth - Reimagined
* Invincibility (Flashing) / Неуязвимость (с миганием):
Game Genie - 2AGA-EGNR
* Disable Flashing / Отключить мигание (или неуязвимость после 1-го удара):
Game Genie - RL1A-AA9L
Первый код делает с миганием, поэтому сделал 2-й, но отдельно он работает ещё как неуязвимость после получения урона. Наверно можно сделать в один код без мигания.

83
Добавил исправление пароля, теперь отображается для текущего уровня (файл 3ECA0: 65 (было 61)). Для Dock (последний уровень) уже был пароль, но не отображался: Barrel, Cherry, Heart, Balloon. Чтобы поиграть за маленькую обезьяну с паролем, нужно начать игру за маленького, проиграть и ввести пароль. По-хорошему нужно добавить экран выбор.

Добавьте сами на
МГИМО финишд

84
vladimirur, если взломанная консоль, то попробуйте спросить на 4pda или где обсуждают взломанные PS4 (например, https://www.pspx.ru). Плагин, который указал, несложно отредактировать, но компилируйте сами. Например, изменить функцию deadzone_apply https://github.com/GoldHEN/GoldHEN_Plugins_Repository/blob/1e93d84246d6813e8023f54b88bc34840491201e/plugin_src/gamepad_helper/source/main.c#L75:
int deadzone_apply(ScePadData* pData) {
    if (g_enableDeadZone) {
        pData->leftStick.x = 255 - pData->leftStick.x; // Добавил
        pData->rightStick.x = 255 - pData->rightStick.x; // Добавил
        pData->leftStick.x = check_deadzone(pData->leftStick.x, g_deadZoneLeft);
        pData->leftStick.y = check_deadzone(pData->leftStick.y, g_deadZoneLeft);
        pData->rightStick.x = check_deadzone(pData->rightStick.x, g_deadZoneRight);
        pData->rightStick.y = check_deadzone(pData->rightStick.y, g_deadZoneRight);
    }
    return 0;
}
Тогда при активации мёртвой зоны будет инверсия по X. Только значение центра 128 (0x80), будет постоянно между 127 и 128 меняться (255-127=128, 255-128=127). Это не проблема, если deadzone от 1 и выше.

85
Hard'n'Soft / покупка/сборка ПК.
« : 05 Февраль 2024, 18:35:09 »
На старых системам научились включать Resizable BAR (ReBar, SAM): https://github.com/xCuri0/ReBarUEFI, список проверенных материнок: https://github.com/xCuri0/ReBarUEFI/issues/11. Видеокарта должна поддерживать ReBar, т. е. RTX 3000+ (для GTX 1600 / RTX 2000 указано решение), RX 400+ (в списке нашёл RX 470 - "рефабы" должны подойти), Intel Arc (им ReBar необходим). Написано на i5 3470 и Sapphire Nitro+ RX 580 8GB это даёт до 12% FPS. Есть разные проблемы, только для энтузиастов.

86
Sharpnull как вы их нашли.
На NES это просто, найти куда записываются нажатия контроллера (видно в редакторе памяти или перехватить чтение $4016) и посмотреть код где читаются нажатия. Решил проверить на титульнике и они там оказались. Игра настолько неинтересна никому, что про читы нет на: https://cah4e3.shedevr.org.ru/cheatsbase.php, https://tcrf.net/Super_Donkey_Kong:_Xiang_Jiao_Chuan, https://bootleggames.fandom.com/wiki/Super_Donkey_Kong_-_Xiang_Jiao_Chuan. Может кто добавит?

Кстати, на bootleggames.fandom.com написано про секретный проход: 1-й уровень Леса, заход справа от шипастой твари переносит в бонусный уровень из которого выход во 2-ю половину Грибного уровня. Слева от выхода есть проход в этот же бонусный уровень. Там не написано, что после убийства босса Грибов придётся проходить Грибной уровень сначала и там уже босс не проходим (без моего исправления Boss v2).

По-хорошему, в игре можно исправить инициализацию спрайтов, несколько не скрываются в начале игры и в левом верхнем углу мусор (либо в разных местах, зависит от инициализации RAM). Ещё, в теории, игра может не запуститься на некоторых картриджах (и Mesen с вкл. случайной инициализацией регистров маппера), т. к. код начинается с CPU $C000, а в $C000-DFFF может быть другой банк.

87
дошел до уровня 1-2 (фиолетовая пещера с черным фоном, дошел до правого края экрана и всё дальше не пускают, уровень не завершается.
Так и должно быть, он бонусный, нужно вернуться: https://youtu.be/yhFb8nXZMm4?t=102.

89
4 поколение / Тени в играх на Sega Mega Drive 2
« : 05 Февраль 2024, 00:51:38 »
за замыленными тенями тебе на оригинальную мега драйв 1
Даже сравнение есть:

90
Видимо из-за своего "роста" она не достаёт до какого-то нужного пикселя и поэтому уровень не завешается
Да, опустил координату выхода, чтобы маленькая обезьяна касалась (файл 2DE48: A2 (было A0)). Прикладываю ром с исправлением Boss v2 и этим.

Страницы: Назад 1 2 [3] 4 5 6 7 ... 149 Далее