1
Общий / Большая коллекция багов в играх
« : Сегодня в 01:13:50 »
Dead or Alive 2 (PS2)
Во время загрузки игры процеср отправляет команду звуковому сопроцесру, чтобы тот инициализировал звук. Но разрабы накосячили и не заметили - сразу после этово процеср удаляет или перезаписывает команду, отчево сопроцеср должен бы не успевать прочитать её, получать мусор и зависнуть (это класическая ошыбка програмирования - состояние гонки). Но игра работает, а разработчики PCSX2 десятилетиями были в недоумении почему, ведь на эмулятре игра зависала как и положено по логике. Им приходилось патчить это место, штобы принудительно запускать звуковую систему.
Разработчик DobieStation, экспериментальново по точности эмулятра PS2, спокойно запустил игру у себя. Оказалось, што та самая команда на запуск звуковой системы оставалась в кэше процесра и сопроцеср читал её оттуда, хотя в памяти она уже не существует. Разрабы PCSX2 не эмулировали кэш, считая, што кэш и память консоли всегда синхронизированы.
patreon.com/posts/sins-of-ps2-dead-33513267
Во время загрузки игры процеср отправляет команду звуковому сопроцесру, чтобы тот инициализировал звук. Но разрабы накосячили и не заметили - сразу после этово процеср удаляет или перезаписывает команду, отчево сопроцеср должен бы не успевать прочитать её, получать мусор и зависнуть (это класическая ошыбка програмирования - состояние гонки). Но игра работает, а разработчики PCSX2 десятилетиями были в недоумении почему, ведь на эмулятре игра зависала как и положено по логике. Им приходилось патчить это место, штобы принудительно запускать звуковую систему.
Разработчик DobieStation, экспериментальново по точности эмулятра PS2, спокойно запустил игру у себя. Оказалось, што та самая команда на запуск звуковой системы оставалась в кэше процесра и сопроцеср читал её оттуда, хотя в памяти она уже не существует. Разрабы PCSX2 не эмулировали кэш, считая, што кэш и память консоли всегда синхронизированы.
patreon.com/posts/sins-of-ps2-dead-33513267



