В недавнюю новость об обновлении эмулятора Sony PlayStation вкралась небольшая, но весьма досадная неточность, о которой нам любезно сообщил сам автор. Внезапно, эмуляторов PSX в приороде великое множество и в продолжении поста вы найдёте все необходимые объяснения.
Вообще-то тут ошибка: не psx4all, а pcsx4all, о чём на dingoonity написано. Всё равно многие путают. Предок общий — pcsxr, но местами код сильно отличается. Вот и EXL про него писал: http://exlmoto.ru/pcsx4all-motomagx/
За основу взят этот эмулятор: http://chui.dcemu.co.uk/pcsx4all.html
к нему приделан практически полностью переписанный рекомпилятор от psx4all: https://github.com/uli/psx4all-dingoo/
Потом последовали многочисленные переносы кода из более совершенных pcsx_rearmed, pcsxr и даже mednafen.
И очень сильно подправлен gpu_unai: скорость, точность, а самое главное — убрана мерзкая «расчёска», возникающая из-за неточности алгоритма деления (на ARM нет инструкции деления, а на MIPS таки есть).
Вот так и получилось это счастье.
Если что — я пилил только рекомпилятор, всё остальное — вклад других (на скрине Credits всё написано).
Вот такая вот неувязка. Приносим свои извинения!
Вышеописанная «расчёска» видна на картинке к посту. И, стоит упомянуть, что эмулятор начал поддерживать такие игры, как Tomb Raider 2,4,5, Mortal Kombat 3 и Mortal Kombat Trilogy, причём последние весьма прилично играются на Dingoo A320! Это стало возможным из-за более точной эмуляции процессора R3000a, другими словами — реализации «фирменных глюков».