Состояние проекта Текущая версия — 2.8.JAG. (История изменений) Совместимость 3DO: 100% ?! Совместимость ColecoVision: ~98%. Совместимость Sega Master System: ~99%. Совместимость Atari Jaguar: ~95%. Требования: видеокарта с шейдерами 2.0, процессор от 1.6ГГц (для Jaguar рекомендуется х64 процессор). Дополнительные возможности Аппаратный рендеринг Встроенный редактор аннотаций Поддержка сжатых образов Работа с файловой системой образов Внешние графические фильтры Эмуляция нестандартных устройств ввода приставки (монетоприемники, пистолеты, Flightstick Pro) Запись прохождений Встроенный отладчик (пока только для Win32) История изменений Версия 2.8.JAG: (Изменения касаются только Atari Jaguar) Исправления в объектном процессоре (заработал Rebooteroids) Исправлен блиттер в части внутреннего цикла (убрался ряд зависаний) В RISC-процессорах воспроизведена аппаратная ошибка с записью во флаговый регистр (улучшена совместимость) Исправлено предчтение команд в DSP Добавлена поддержка повышенного горизонтального разрешения экрана Скорректирована развертка (убраны излишние части экрана) Скорректировано выравнивание, чтобы работал Protector SE Добавлены опции эмуляции RISC-процессоров в отдельных потоках Выполнена общая оптимизация Версия 2.8.J: Не очень быстро, не очень качественно, но эмулируется Atari Jaguar! Поддержка PAL BIOS с отключенным RSA в 3DO Конвертация (опция через меню Файл) Jaguar ROM без заголовка и некорректных 3DO ISO Профилирование доступа к CD-ROM в 3DO Версия 2.8: Сильно доработана эмуляция SMS (совместимость 99%) Оптимизирован оригинальный программный рендер 3DO Доработан режим MARIA в CEL-Engine (D, Samurai Shawdow, ... ?) Исправлен порядок выполнения операций над вторым источником в пиксельном процессоре 3DO (Crash'n'Burn) Исправлена загрузка рабочих регистров CEL (Wiked 18 и другие гольфы) Опция отрисовки CCB-списка в конце отведенного времени (помогает в Phoenix 3) Более точная привязка кадра к сканлайнам в 3DO Исправлен перехват SPORT в аппаратном рендере 3DO (BC Racers) Реализована более эффективная многопоточность для CEL Улучшен учет циклов CEL-Engine (для Jurasic Park следует выбрать "100% + вне кадра") Обновлен AngelScript до последней версии, стандартный скалер текстур улучшен, но требует оптимизации Генерация списка совместимости на основе аннотаций Уменьшена латентность управления В контекстном меню библиотеки можно массово удалять дубликаты Вызов редактора аннотаций по Ctrl+A (во время игры будет автоматом вставлен скриншот) Заблокировано логирование (оставлено только в отладочной сборке, поскольку влияет на производительность на слабых машинах) Добавлена опция ускоренной эмуляции (для прогона тестов, так же вы можете оценить производительность своей системы в плане эмуляции) Исправлены ошибки доступа к памяти в структурах картирования памяти (могло приводить к рандомным падениям при эмуляции 3DO и отладке всех платформ) Массовое удаление необнаруженных дампов из списка Тест ZEXALL проходит без ошибок(исправлены вероятно все ошибки эмуляции Z80) Исправлена масса ошибок в TMS9918A благодаря VDPTEST (остались некоторые тайминги по HClock, но судя по проведенному тестированию, они ни на что не влияют) 3D игры SMS отображаются через кадр Сделан маппер для Pack 4 All Actions Поддержка румов SG-1000 и Sega Game Gear в рамках SMS Реализованы корейские мапперы SMS Добавлена поддержка SMS-дампов до 4 мегабайт Эмуляция кнопки Start в SMS (да я забыл целую кнопку! =) В SMS добавлена поддержка маппера Codemasters и маппера без страничных регистров Добавлена опция обхода ограничений TMS9918A на отрисовку спрайтов Поддержка режимов 224 и 240 строк, а так же PAL развертки для SMS Сформирована база игр для привязки к мапперам в SMS Масса мелких изменений Версия 2.7: Оптимизация эмуляции ARM процессора (снизились требования к эмуляции 3DO) Исправлено падение эмулятора при работе 3DO-DSP в отдельном потоке Добавлен автосейв и пересохранения в верхний слот по F4 Исправлена ошибка эмуляции Z80 (инструкция halt, заработали многие игры ColecoVision) Исправлен режим 2 TMS99XXA (устранены графические ошибки в ряде игр ColecoVision) Улучшены настройки ввода (теперь можно играть вдвоем мышками в интерактивных тирах) Добавлена предварительная поддержка Sega Master System (жутко глючная 99% не работают =) Множество мелких исправлений Версия 2.6: Добавлена эмуляция приставки ColecoVision Видеозаписи прохождений (можно загрузиться с кадра, переписать конец записи - отмотав, продолжить запись) Настройка степени сжатия видеозаписи ведется через период ключевого кадра (чем чаще - тем больше места занимает) Исправлен баг в квиксейвах приводивший к некорректному определению размера 3DO-диска после восстановления Переработан основной цикл приложения (должна улучшиться синхронизация аудио и видео ряда) Доработан прицел (на игровом экране прицел вместо курсора, а для прицелов из настроек ввода отключается пропуск кадров) Расширение цвета фона за пределы кадра (можно отключить) Бордюры согласно развертке (можно отключить) Версия 2.5: Задействован AngleScript для фильтрации текстур (можете делать собственные фильтры) Добавлено логирование ошибок для скриптов и шейдеров (рядом с самисми скриптами будут появляться LOG-файлы) Настройки сделаны более интуитивными, неактивные элементы блокируются Появилась возможность настраивать стиль интерфейса (папка skin, убрать ее, если не нравится) Появилась поддержка переводов интерфейса эмулятора (файл translation.xml) Настройка скорости эмулируемого CD-привода Проверки для OpenGL (если падает эмулятор при запуске - смотреть opengl.log) Настройка процента учитываемого трафика CEL-Engine в квотировании времени Улучшена автофиксация осей при настройке джойстика Исправлено дополнение управления (теперь можно спокойно назначать несколько контролов на элемент управления консоли и наоборот) Убрана привязка назначаемых клавиш клавиатуры к текущей раскладке (в некоторых случаях может понадобиться перенастройка управления) Исправлена загрузка сейвов с отключенными опциональными румами Обновление содержимого при ресайзе и прочих событиях повреждения контекста окна Обработка прерываний в процессе работы CEL-Engine Много улучшений в дебагере, которые позволят еще больше улучшить эмулятор (отладочная версия) Выполнен реверсинженериг протокола пистолета и реализована его поддержка (в том числе в играх с автоматов) Выполнен реверсинженериг протокола сервисной платы OrbAtak и реализована ее поддержка Выполнен реверсинженериг протокола Flightstick Pro Добавлена опция сокрытия курсора в полноэкранном режиме Версия 2.4: Многопоточность (DSP и CEL в отдельных потоках) Исправлен графический баг в Alone in the Dark II Проведена масштабная оптимизация кода Добавлено случайное семя для Random Шейдеры теперь доступны для редактирования - можете издеваться над картинкой =) Версия 2.3.4: Исправлена работа с файлами в Unicode (Windows) Исправлена проблема со сжатыми образами (Linux) Версия 2.3.1: Исправлена запись XML-атрибутов в файле настроек Версия 2.3: Поддержка образов с экзотическими размерами секторов (2353, 2368, 2448, 2449 и т.д.) Копирование в буфер обмена информации о выделенных тайтлах (расположение + контрольная информация) Проверка оригинальных сигнатур для контроля целостности образов 64-битная сборка Изменен состав вспомогательных библиотек, чтобы меньше зависеть от Qt Кеширование в приводе компакт-дисков (не заикается Сейлор Мун) Горячие клавиши в полноэкранном режиме Исправлен пиксельный процессор (палитра в Crash'n'Burn) Версия 2.2: Исправлена запись вне кадра в оригинальном программном рендере Запрещена тесселяция моноцветных квадрополигонов (прибавит скорости в том же Вольфе) Исправлен баг с загрузкой сэйвов (больше не требуется переименование при обмене сейвами) Встроен конвертер для кривых образов Подсветка контуров текстур (Отладочная версия) Реализован достур к карте графических объектов (Отладочная версия) Удалена LibJIT (глючная и мешает портированию, позже компенсирую статическими паттернами) Undo/Redo и трекинг переходов в отладчике (Отладочная версия) Масс-дамп памяти и ресурсов (Отладочная версия) Операции с образами выполняются как фоновые задачи Масштабирование CEL (на подобие 2xSAI) Версия 2.1: Возможность выставить множитель частоты ARM Поправил инкрементацию позиции в оригинальном программном рендере Исправлена работа PBUS Добавлена поддержка взрывающихся текстур (только программный рендер) Скорректированно сопоставление кадров в VDLP Добавлено профилирование трафика CLIO Более точный расчет тактов ARM (перестали хрипеть видеоролики в WC3, возможно и в других играх) Доработан генератор шума (зависание Daedalus Encounter) Версия 2.0: Раздельная настройка для динамической рекомпиляции ARM и PPROC Защита от случайного удаления аннотации Автозахват осей джойстиков Исправлены DMA-каналы Исправлен генератор случайных чисел Доработаны прерывания XBUS Выставлен правильный порядок стерео каналов по умолчанию Восстановлена поддержка ПЗУ шрифтов Аннотации меняются вслед за текущим элементом коллекции Версия 1.9: Восстановлена работа Crash'n'Burn Исправлена гонка потоков Доработано картирование текстур относительно памяти (текстуры размером больше всего ОЗУ консоли приводили к зависанию при аппаратной отрисовке) Сняты ограничения на размер списка отрисовки Исправлены прерывания от XBUS Редактор аннотаций Исправлена ошибка в аппаратном рендере со стороны SPORT (падал Alone in the dark) Добавил учет загрузки шины памяти со стороны CEL-Engine Фиктивный FPS добавлен в профайлер Версия 1.8: Исправлены статические инструменты (ошибка с флагом переноса) Проведен рефакторинг кода Добавлена возможность поиска в списке дампов Оптимизация константных вычислений в рекомпиляторе ARM Исправлен сброс процессора Скорректирована эмуляция CD-ROM для будущей поддержки Audio-CD или Play-листа Подобран более белый генератор шума Добавлен редактор аннотаций Версия 1.7: Оптимизирована триангуляция квадро текстур Контроль пропорций экрана в режиме аппаратного рендеринга Добавлена функция зуммирования Восстановлена работа Crush'n'Burn Текстурное кеширование LR-Cel не являющихся битмапами Исправлена ошибка дублирования при добавлении образов с символом "#" в названии Изменения в библиотеке дампов: статус бар показывает контрольные суммы и реальный размер, подсвечиваются дубликаты, можно удалять дампы вместе с файлом В DSP рекомпилировано два новых инструмента Динамическая рекомпиляция Версия 1.6.3: Реализована полная поддержка чипа Anvil Реализована поддержка PAL консолей и нестандартных разрешений экрана (для запуска в PAL режиме необходим биос соответствующей системы) Оптимизирована генерация и загрузка текстур Версия 1.6: Опциональная оптимизация растровых пересылок (прибавляет скорости в Virtuoso, ShockWawe 2 и других играх, за счет небольшой потери точности) Мониторинг палитры VDLP (в игре Casper рисунки-заставки были темными, вместо того чтобы плавно появляться и изчезать) Переписана реализация SPORT в аппаратном рендере для лучшей совместимости Исправлен клиппинг (глюк с панелью в Return Fire в аппаратном рендере) Скорректирована работа со списком CCB (фон в Samurai Shodown) Изменен цикл DSP для недопущения зависаний с бесконечными инструментами (касается Sailor Moon) В декомпилятор DSP-инструментов добавлена поддержка множественных точек входа (повышает быстродействие) Исправлена ошибка декомпиляции условных переходов в DSP-инструментах (лечит скрипы при старте видеороликов) Выполнен рефакторинг кода классов ядра эмулятора Версия 1.5: Смена активных дампов при смене текущего архива сохранений и сохранении текущей игры Устранена проблема обратной совместимости сохраненных состояний и загрузки при передергивании питания Дизассемблер списка команд VDLP Исправлена ошибка декомпиляции DSP-инструментов в командах вызова локальных процедур Реализован аппаратный рендеринг (для управления фильтрацией текстур есть настройка - авто, принудительно включить или выключить, разрешение аппаратного рендера регулируется коэффициентом масштаба FBO) Исправлен декодер размера битмапов (DinoPark Tycoon) Профайлер добавлен на панель управления и разделен на две составляющих - общую и расширенную Версия 1.4: Введены видео режимы (для 3DO это: 320х240 - для слабых машин, 640х480 - более корректен, особенно при смешении разных кадров) Написан шейдер для интерполяции программной отрисовки (действует подобно 2xSAI и прочим фильтрам для повышения разрешения) Оформлена вкладка настроек видео (все настройки изображения перенесены туда) Добавлена опция вывода изображения без фильтрации (старые добрые пиксели) Исправлен баг с учетом тактов в DSP (приводил к зависонам в Гексе в особых местах и возможно некоторым другим проблемам) Статическая рекомпиляция DSP-инструментов (существенно снижены требования к эмуляции) В профайлер добавлены сведения о текущих DSP-инструментах Добавлно меню звуковой настройки Введены 3 режима эмуляции DSP (быстрый (статически рекомпилированные инструменты), нормальный и потактовый (самый медленный и самый точный)) Дизассемблер памяти DSP Версия 1.3: Система отображения юникодовых шрифтов (для субтитров и прочих сообщений поверх экрана) Встроен профайлер Новый программный рендер с кешированием (на 50-200% шустрее старого, но в DOOM на 50% медленнее - в этой игре программный рендеринг в текстуры, в связи с чем они постоянно рекешируются) Контроль пропорций экрана Устранена ошибка автообновления позиции спрайтов при отрисовке шрифтов Исправлена обработка CCB-списка Исправлена загрузка PIP-слов в таблицу PLUT Версия 1.2: Доработана поддержка мыши Реализована функция сохранения и загрузки состояний (с дельта кодированием сохранений для дальнейшего внедрения в отладчик функции обратного шага по инструкциям) Менеджер ресурсов теперь поддерживает навигацию по файловой системе ROM'ов В менеджер добавлен новый тип биоса (FMV - биос видео модуля для 3DO, пока можно лишь покопаться в его содержимом) Возможность делать скриншоты Полноэкранный режим Версия 1.1: Добавлена поддержка сжатых образов (архиватор встроен) Доработана поддержка джойстиков (аналоговый ввод) Добавлена поддержка мыши (не тестировалось) Версия 1.0: Новый фронтэнд Новая архитектура ядра эмулятора Встроенный менеджер ресурсов Временно отсутствует поддержка аппаратного рендеринга Версия 0.8.6: Исправлен Lost Iden Небольшие исправления в регистрах CLIO Добавлен профайлинг цикла эмуляции (можно узнать - эмуляция какой подсистемы потребляет наибольшее количеству ресурсов) Изменения в DSP (следует обратить внимание на звук - я не до конца уверен в правильности изменений) Добавлена возможность дампа памяти и кода DSP (меню Debug) Версия 0.8.5: Исправил ощибку обновления экрана в оптимизированной программной отрисовке Исправлен глюк с палитрой в Lucienne's Quest Улучшен перехват SPORT (hle) Фикс-версия для Crush'n'Burn Версия 0.8.4: Добавлен контроль пропорций экрана в аппаратной отрисовке Исправлены подергивания изображения после оптимизации программной отрисоки (версии 0.8.2 и 0.8.3) В заголовок окна добавлена информация о выбранной игре Изменен статус-бар: Строка состояния выровнена Расширен формат: VTR = процент видеотрафика (отношение площади передаваемого видеокарте растра к площади кадра). Это очень показательная величина, в большинстве случаев именно она определяет скорость эмуляции той или иной игры (меньше - лучше). Построчная оптимизация вывода программного буфера Версия 0.8.3: Введена избирательная отрисовка FBO с учетом модификации их содержимого (лишние команды 3DO Graphics Folio игнорируются) Произведена оптимизация программной отрисовки и интерполятора Версия 0.8.2: Поддержка биосов Anvil и оригинальных дампов японских 2-х мегабайтных биосов Эмуляция сведена в один поток Оптимизированы функции аппаратной отрисовки Оптимизирован программный рендеринг Исправлена интерполяция по краям фреймбуфера Исправлен порядок сканирования строк VDLP Версия 0.8.1: Изменен способ устранения швов между текстурами Исправлен пиксельный декодер (уровень здоровья в Po'ed) Небольшие исправления пиксельного процессора Версия 0.8.0: Исправления эмуляции ARM, инструкция STR Небольшая оптимизация кода эмуляции ARM Исправлена эмуляция DSP (заставки Killing Time и Blade Force) Улучшена взаимная блокировка функций программного и аппаратного рендеринга. Оптимизирован цикл эмуляции Добавлены файлы вывода отладочных сообщений и kprint Добавлено сохранение настроек окна Версия 0.7.9: Исправлен баг многократного удаления текстуры (версия 0.7.8 - падает в ряде игр, не рекомендована к использованию) Реализован механизм контроля числа текстур с учетом актуальности (пока фиксировано - 1024 текстуры) Версия 0.7.8: Добавлен вывод в статус бар. Формат: Режим рендеринга - SW (программный) или HW (аппаратный) TEX [число текстур, объем озу] FBO [число фреймов, объем ОЗУ] FPS = число кадров в секунду SND = процент загрузки звукового буфера Добавлен пропуск кадров Исправлено декодирование цвета в операциях SPORT (HLE) Скорректирована контрастность палитры (HLE) Улучшен механизм перехвата текстур Версия 0.7.7: Улучшения меню (информативность, автозапуск, блокировки, фиксация директорий) Рапорт о возможностях системы пользователя (frontend.log) Сообщения об ошибках со стороны OpenGL (frontend.log) Регулировка звука колесом прокрутки мыши Версия 0.7.6 (относительно первой беты 0.7.5): Исправлены исчезающие спрайты в DOOM Убран лимит на размер FBO (было 1024*512, влияет на разрешение кадра) Доработано отсечение нелицевых граней (в HLE режиме)