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

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


Сообщения - Sharpnull

Страницы: Назад 1 ... 70 71 72 73 [74] 75 76 77 78 ... 129 Далее
2192
Проблема в том, что из подписи системные требования не подходят?
Да, нужна поддержка OpenGL 4.3, которой у вас нет.

2193
А тут радуются возможности поиграть в Диабло который есть на всех платформах.
консольная лучше лишь тем, что она взламываемая и бесплатная, а вот управление с геймпада - это спорно, кому как.
У людей с дорогими системниками не остаётся денег на игры, они лучше будут мучиться с эмуляторами.

2194
Hard'n'Soft / Steam
« : 17 Апрель 2020, 13:46:59 »
SkyLarge, и DARK SOULS III Deluxe Edition -83%, а вообще у 3,252 игр/DLC/т.п. скидки сейчас: https://store.steampowered.com/search/?specials=1.
--------
Если убрать индюшку, выбрать только игры, то останется 200-300.

2195
Попробуй запустить калькулятор через эту программу. Пункт меню Soft->Calculator.
Win+R, calc, Enter :)

2197
В инете перевести не могу числа в двоичную систему и обратно, и калькуляторы тупят тоже в инете в двоичной.
Пример напишите, что вы задаёте, что получаете и что ожидали получить.
В моей винде вобще нет калькулятора
Говносборка или удалили? Его можно восстановить: https://superuser.com/questions/978877/how-can-i-reinstall-windows-10s-calculator-app. Если не удалили Windows Store, то https://www.microsoft.com/ru-ru/p/windows-calculator/9wzdncrfhvn5.

2198
А то в инете калькуляторов куча, но в 2оичной не правильно считают.
Это как можно неправильно считать?
Я пользуюсь консолью Python 3. bin(0xFF) выведет '0b11111111', hex(0b11111111) выведет '0xff'. Хотя стандартный калькулятор удобнее в чём-то.
--------
Да и в уме переводится несложно, потому хекс и используют.

2199
На всякий случай. У BPS контрольные суммы оригинального файла, конечного файла и патча хранятся в последних 12 байтах:
CRC32: A88A5FF0 - оригинальный файл.
CRC32: 6EAF6626 - конечный (пропатченный) файл.
CRC32: 9AFA6751 - самого патча без последних 4 байтов (так и есть).
--------
И пропатченный ром на том сайте верный как и принудительный патч, если убрать нули, то будет EC4AAAD8.

2200
Может они что-то напутали. Здесь можно проигнорировать CRC https://www.romhacking.net/patch/ и получится файл с CRC32: EC4AAAD8. Точно такой же лежит здесь: https://cdromance.com/snes-rom/kouryuu-densetsu-villgust-kieta-shoujo-eng-patched/. Этим недопереводчикам стоило указать конечную контрольную сумму.

Добавлено позже:
Проверил. Этот патч для обычного рома с пустым заголовком. ucon при конвертировании в smc или swc (с заголовком) добавляет информацию, а патчу нужны нули. Берёте ром CRC32: 2A6F930E и добавляете вначале 512 нулей.

2201
Прочие эмуляторы / Retroarch
« : 16 Апрель 2020, 08:06:38 »
Может еще есть у кого еще старые версии ядра SCUMMVM? Мой аппарат с каждым новым все хуже.
Выбираете нужный коммит и компилируете: https://github.com/libretro/scummvm, https://libretro.readthedocs.io/en/latest/development/retroarch/compilation/windows/.
Если у вас слабый компьютер, то зачем использовать RetroArch, пользуйтесь старыми сборками для вашей системы: https://www.scummvm.org/frs/scummvm/ (https://www.scummvm.org/downloads/).

2202
City Patrolman для UM6578. Записывал видео с прохождением (без особой подготовки):
Источник: http://masterdisk.byethost15.com/blog/libg/index.php?entry=Commando-UM6578. Эмулятор NintendulatorNRS.

2203
Тык
В общем, анализ кода, как обычно.
даже ассемблер начал учить
Продолжайте и само получится. Бряки, коррапторы и т. п. - творческие подходы и нюансы системы, которые можно узнать из практических статей по разбору конкретных игр.

2206
Power Up, просто нужно было подходящий ромсет использовать. Здесь такой же файл как у Kosvor, вот для 0.220.

2207
LEvgen, попробуйте перенести папку с эмулятором в другое место и/или сменить путь до сохранений. Если лень разбираться, можно использовать PPSSPP в RetroArch.

2208
Разное / Кино
« : 12 Апрель 2020, 07:33:46 »
Mortal Kombat Legends: Scorpions Revenge / Легенды «Смертельной битвы»: Месть Скорпиона (2020) - хороший мультфильм с кровью, кишками и X-Ray, как и полагается. Матерится только Sonya, если не ошибаюсь, другим не к лицу  :)
Сюжет с самого начала, всем известные главные герои попадают на турнир в первый раз, как в фильме Mortal Kombat (1995), только больше внимания уделено Скорпиону. Наверно будет продолжение.
Есть в сети с англ. субтитрами.

2209
Никто не в курсе что за песня в трейлере во второй половине, и в конце фильма в титрах

Rurouni Kenshin: The Legend Ends
ONE OK ROCK - The Beginning
Группа была указана трейлере в конце, хотя и без названия.

2210
Я уже говорил, можно снимать биты (лучше просто 0x00), если оба бита установлены (маска 0xC0) при передаче. Тогда шум будет только когда кто-то реально используется CSM режим, а таких должно быть мало.
хотя еще не известно как это повлияет на звук соник танка.
А там тоже используется 7-й бит или 0xFF? Узнали как часто встречается реальное использование CSM режима, а не 0xFF, и сколько неправильных 0xFF (0xC0)? Хотя бы примерно, кроме Nightmare Circus.

Про тики, перемотку не понял. Вы наверно хотите полноценный редактор GEMS сделать. Если бы я делал графический плеер GEMS на основе этого (не редактор), то для промотки (seeking) загружал трек заново и в цикле пропускал нужное количество кадров:
for (int i = 0; i < frames_skip; i++) {
VBLINT();
gems_loop();
vgm_update();
for (loop = 0; loop < rateDACUpdate; loop++)
{
DACME();
}
PlayingTimer ++;
}
Это работает более менее быстро (не больше секунды для 2 минут перемотки), но возможно не точно из-за отсутствия ym2612_stream_update(), который заполняет буфер, с ним медленнее.
Для выяснения длины трека просто проматывал бы до конца, при этом пришлось бы учитывать зацикливание.

Кстати, заметил, что один и тот же короткий трек играл по-разному при разных запусках. Может там проблемы с потоком (с ними всегда проблемы, если не быть крайне осторожным и опытным), который отдельно играет музыку, или где-то используется неинициализированная память.
По-хорошему, для такого рода библиотеки должна быть возможность самому вызывать sound_update() с передачей буфера, тогда забота по воспроизведения ложится на пользователя библиотеки, зато можно лучше контролировать процесса.

2212
gotten, blackoff, да нет там SPU2-X-dev.dll, в сборках 1.4.0 и новых лежит Spu2-X.dll, а calka похоже запустила run_spu2_replay.cmd:
%systemroot%\syswow64\rundll32 plugins\SPU2-X-dev.dll,_s2r_replay@16 replay_dump.s2r--------
calka, я просил лог-файл, а не фото экрана. В нём была бы информации о системе, которая возможно не соответствует минимальным требованиям.
Ладно ребята, развлекайтесь.

2213
не совсем поняла какой файл, и это предложение "файл сюда или скопируйте и вставьте как код (кнопка с решёткой) или под спойлер (жёлто-чёрный зонт)"
Когда нажмёте в окне консоли пункт меню Лог -> Сохранить лог как..., будет предложено сохранить текст в файл. Этот файл и нужен.
Когда на форуме нажмёте "Предварительный просмотр", добавьте файл во Вложение. Если его добавите, то это не нужно:
- код, решётка.
- спойлер, жёлто-чёрный зонт.
--------
Не забудьте сначала попытаться запустить игру, а только потом сохранять лог в файл.

2214
Вы могли просто подсчитывать время от начала запуска проигрывания, если только есть проблемы с преобразованием длительности в секунды. Добавил int gemsplay_get_elapsed_time(void);, возвращает переменную PlayingTimer в кадрах (60 в секунде), которая используется для вывода времени в консоли.
Интересно, что в коде есть LoopStartSignal() и LoopEndSignal() для подсчёта повторов и даже их вывод, только эти функции не используются и повторы никогда не выведутся.
--------
Треки только с DAC сэмплами будут заканчиваться раньше, как я уже говорил.

2215
calka, попробуйте последнюю версию или запустите эмулятор, попытайтесь запустить игру, включите консоль (Разное -> Отображать консоль), в окне консоли Лог -> Сохранить лог как... и прикрепите файл сюда или скопируйте и вставьте как код (кнопка с решёткой) или под спойлер (жёлто-чёрный зонт), чтобы сообщение не было длинным. В логе находятся пути до эмулятора, так что не запускайте эмулятор из папки, где в пути находится что-то вас компрометирующее.

2216
как-то эмуляторный чип реагирует по другому на этот 7 бит.
Меня тоже смущало, там проверка на 7 бит (0x80) встречается. Только сейчас поискал информацию "CSM mode auto key on ym2612" :) Например:
Цитата
CSM (illegal Mode)
This mode is will also switch the YM2612 in special mode
It was officially called “Illegal Mode” because it seems SEGA did not find any use of this or developers found it too hard to program...
CSM stands for COMPOSITE SINE WAVE MODELING aka early speech synthesis system
Интересно, как много игр с GEMS использовали CSM.
--------
Можно убирать 7-й бит, только если передаётся 0xFF или если установлены 7-й и 6-й биты одновременно, потому что так обычно не ставят, как я понял.

2217
На счёт его коммита: теперь он исправил то, что было у меня. LoopID для VGM я исправил неверно, начальное значение там 0xFF и оно устанавливается каждый трек заново. Из нового: FMWrite(CurBnk & 0x04, 0x22, ChnPat[0]); -> FMWrite(CurBnk & ~0x03, 0x22, ChnPat[0]);, значит больше каких-то банков будет поддерживаться. Про создание папки dumps вы знаете.
Он забыл добавить заголовочные файлы #include <direct.h> в main.c для _mkdir() и #include <string.h> в GemsPlay.c для memset(). Всё компилируется, но компилятор пишет предупреждения. В C++ наверно была бы ошибка, потому что в C функция без объявления по умолчанию int func() и допускается передавать аргументы в функцию с пустыми параметрами, из-за этого для C приходиться писать void func1(void), а не void func1(), чтобы компилятор сообщил об ошибке, если случайно переданы аргументы.

Я обновил код и сборку. Код практически совпадает, за исключением 2 грязных исправлений и второй проверки на GEMS 2.8, которая неизвестно даёт ли ложноположительный результат (тогда нужно убрать обязательно).

The problem with Comix Zone is unfortunately an emulation related. That particular instrument requires the YM2612 to be emulated at its native sample rate, 53267 Hz.
However due to the way GEMSPlay is written, it can only be emulated at 44100 Hz. (This is also what Gens usually does.)
Thus, the bug won't go away unless GEMSPlay gets a major rewrite regarding audio processing.
Это похоже не так, раз я одним делением исправил :) Точнее, чтобы переписать код под эмуляцию от MAME потребуется major rewrite. Этот коммит он не видел, очевидно.
Так и думал, что связано с частотой (53267 Гц), потому что в MAME rate передаётся как clock() / 72, а здесь 44100. Где clock() должен быть 7670454 (частота YM2612 NTSC), только вот это 7670454 / 72 == 106534, а 7670454 / 144 == 53267. Магическое число 144 встречалось в fm2612.c, как раз 144/32 == 4.5 (я исправил 4.4 на 4.5 в коде), только я не знаю почему 32.
Можете ему написать, чтобы посмотрел моё исправление в fm2612.c:
OPN->fn_max = (UINT32)( (double)0x20000 * freqbase * (1<<(FREQ_SH-10)) );на
OPN->fn_max = (UINT32)( (double)0x20000 * freqbase * (1<<(FREQ_SH-10)) / 4.5);В Genesis Plus GX код YM2612 основан на MAME, но у GP GX текущий код чище, без множителей частоты, так что наверно в другом месте идёт преобразование в конечную частоту. Но я мало разбирался и всё равно не пойму.
Bit 7 from the value for register $27 will be kept for now, because GEMSPlay aims at an accurate reproduction of the original GEMS sound engine and this bug is present in the original as well.
Поэтому я писал, что это "грязное исправление".

2219
Обновил github и сборку: https://github.com/infval/GEMSPlay/releases.
* Применил исправления от Valley Bell за исключением второй проверки на GEMS 2.8.
* Добавил функцию void gemsplay_set_gems28mode(int enabled);, чтобы включать GEMS 2.8 режим. Нужно вызывать перед gemsplay_play(), если передать 1 (или != 0 значение) - включение 2.8, если 0 - отключение. Но, так как я оставил вторую проверку, если программа определить режим как 2.8, то установка 0 или первое определение в gemsplay_init() не повлияют. По-хорошему нужно убрать вторую проверку, чтобы точно форсировать нужный режим, тогда придётся и в GEMSPlay плеер добавить такую команду.
* Добавил два "грязных" исправления с Comix Zone и Nightmare Circus (до этого в код не добавлял на github). Обернул их в макрос препроцессора #ifndef DISABLE_GEMSPLAY_DIRTY_FIXES, чтобы выделить и можно отключить во время компиляции, если добавить в настройки проекта.
Когда пытался разобраться в писке/шуме после конца трека, то попробовал передавать тишину после окончания трека, потому что там постоянно вызывается эмуляция YM2612, даже после завершения трека. Оказалось, что в треках только с DAC сэмплами, а точнее в какой-то игре NBA где только голос человека, определение остановки срабатывает раньше, при этом трек играет и пауза работает после неправильного определения конца, это влияет на автоматическое переключение треков (вкл. - клавиша 'A'). В принципе, если добавить ещё проверки, то можно определять конец точнее. Для вашей программы это не важно, так как вам не нужно знать конец.

2220
Общий / Анонсирована Streets of Rage 4
« : 08 Апрель 2020, 23:52:38 »
блин, странновато смотрятся пиксели с фонами высокого разрешения... зачем это они?..
Это же дополнительные персонажи как бонус, не будут же они всё перерисовывать ради них, а если персонажей перерисовать, то получится не как было.
сварганили скучную игру и решили выехать на ностальгии?
Странное предположение. Никто не будет покупать скучную игру ради доп. персонажей из старых игр.

Страницы: Назад 1 ... 70 71 72 73 [74] 75 76 77 78 ... 129 Далее