PSP (Playstation Portable) в браузере. БОЛЬШОЕ ОБНОВЛЕНИЕ
Встречайте мега обновление браузерного эмулятора PSP, которое я с командой DosZone Team допиливал и тестировал последнюю неделю. Благодаря этому апдейту производительность увеличилась буквально в 10 раз! Мы наконец то получили возможность играть в сложные 3D игры при нормальном fps.
При старте есть выбор разрешения экрана (от нативного 480×272 до повышенного x2-x3 для слабых и более мощных устройств. Есть сохранение прогресса, тач управление и поддержка геймпадов. Управление на клавиатуре можно также переназначить в меню снизу экрана. Также добавил для начала пачку из 25 отличных игр:
• Age of Zombies
• Burnout Dominator
• Burnout Legends
• Crazy Taxi: Fare Wars
• FlatOut: Head On
• flOw
• GTA: Chinatown Wars
• GTA: Liberty City Stories
• GTA: Vice City Stories
• Killzone: Liberation
• LocoRoco
• Metal Gear Solid: Peace Walker
• Metal Slug XX
• Need for Speed: Most Wanted
• Need for Speed: Underground Rivals
• Patapon
• Prince of Persia: Revelations
• Puzzle Quest
• Sid Meier's Pirates!
• Silent Hill: Origins
• Sonic Rivals
• Soulcalibur
• Tekken: Dark Resurrection
• Twisted Metal: Head-On
• Worms: Open Warfare 2
Все игры проверены и работают на устройствах средней мощности.
Минусы:
• владельцы устройств Apple на iOS26 могут играть только в мелкие игры типа Age of Zombies. Яблочная корпорация так и не хочет решать эту проблему
• в меню некоторых игр хрипит звук, это pre release обновления эмулятора, так что эту проблему решат в будущем
• есть проблемы с запуском на смартфонах, нужны тесты и ваши отзывы
Всем отличного времяпровождения!
Оживляем легенду: Как я написал кроссплатформенный эмулятор PDP-11 на C++ и Qt6 с дизассемблером и прерываниями
Привет, Пикабу!
Наверняка многие из вас, кто изучал в университете «Архитектуру ЭВМ» или системное программирование, сталкивались с архитектурой PDP-11. Эта машина стала настоящей классикой: её элегантная система команд и ортогональные методы адресации стали основой для обучения целых поколений программистов.
Однако софта для эмуляции PDP-11, который был бы удобным, современным и работал "из коробки" на современных ОС, критически не хватает. Часто это консольные утилиты из 90-х или софт, требующий бубнов при установке.
Поэтому я решил написать свой собственный эмулятор PDP-11 — с графическим интерфейсом, интерактивной памятью, виртуальной периферией и встроенным справочником.
Главное окно эмулятора: таблица оперативной памяти с мгновенным дизассемблером (загружена программа Hello World), панель регистров процессора и интерактивный контекстный справочник.
Что под капотом?
Эмулятор написан на C++17 с использованием фреймворка Qt6. Я ставил перед собой цель сделать не просто «выполнялку» кода, а именно наглядный инструмент для студентов и энтузиастов, чтобы каждый такт процессора был понятен.
Что умеет эмулятор на данный момент:
Интерактивная память и дизассемблер "на лету"
Сердце интерфейса — таблица оперативной памяти. Как только вы вводите восьмеричный код в ячейку (например, 005203), эмулятор мгновенно дизассемблирует его и показывает мнемонику — INC R3. И наоборот, ошиблись цифрой — увидите UNKNOWN или другую команду. Это невероятно ускоряет процесс понимания машинного кода.Полный набор регистров и флаги PSW
Внизу окна всегда видны состояния регистров R0-R7 и слово состояния процессора (PSW). При пошаговом выполнении (Step Mode) можно наблюдать, как меняются флаги N, Z, V, C в зависимости от результатов арифметики.Memory-Mapped I/O (Внешние устройства)
Какая же ЭВМ без периферии? Я реализовал виртуальные устройства, отображаемые на память по классическим адресам PDP-11:Дисплей терминала (регистры TPS 177564 и TPB 177566)
Клавиатура (регистры TKS 177560 и TKB 177562)
Принтер (регистры 177514 и 177516)
Виртуальный терминал, работающий через классический Memory-Mapped I/O. Процессор посимвольно вывел строку в регистр данных дисплея по адресу 177566.
Аппаратные прерывания и таймер
Отдельная гордость — это честная реализация работы с прерываниями. Это не просто скрипт, который выполняет команды по списку. Процессор умеет:
Обрабатывать команду WAIT (переход в режим энергосбережения).
Генерировать аппаратные прерывания. Например, встроенный таймер дергает вектор 100(8) каждые 100 мс.
В комплекте с эмулятором идет программа «Stopwatch» (Секундомер). Она показывает, как можно отсчитывать реальные секунды в регистре R0, перехватывая тики таймера и отправляя процессор в спячку (WAIT) между ними. Всё как в настоящем железе!
Сборка и DevOps (чтобы работало у всех)
Как разработчик, я ненавижу, когда для запуска опенсорс-проекта нужно потратить полдня на настройку окружения. Поэтому я заморочился с инфраструктурой:
Для Windows: Написан "умный" скрипт compile.bat. Вы просто запускаете его на чистой Windows. Скрипт сам скачает MSYS2, установит нужный GCC toolchain, подтянет статическую версию Qt6 и соберет независимый PDP11.exe весом в пару десятков мегабайт (без необходимости таскать за собой гору .dll).
Для Linux (Arch/Manjaro): Написан скрипт setup_package.sh, который на лету генерирует PKGBUILD, ресайзит иконки через ImageMagick, создает .desktop файл и устанавливает эмулятор как полноценный нативный пакет в систему.
Кросс-компиляция: Поддерживается сборка Windows .exe файла прямо из-под Linux через MinGW.
Примеры программ
Чтобы пользователям не пришлось начинать с чистого листа, я подготовил библиотеку дампов .pdp, которые идут в комплекте:
Hello World — классика с циклом и проверкой флага готовности дисплея.
Keyboard — программа эхо-ввода (выводит на экран то, что набирается на клавиатуре).
16-bit Integer Calculator — полноценный калькулятор (+, -, *, /) с программной реализацией алгоритмов умножения и деления (которых нет в базовой архитектуре PDP-11) и конвертацией бинарного результата в ASCII-строку для вывода на экран.
Но просто выложить код — это полдела. Поскольку проект задумывался как образовательный, я уделил огромное внимание документации. Каждая программа из примеров разобрана буквально по строчкам: с указанием адресов, машинных кодов, мнемоник и подробным описанием логики.
Кроме того, в репозиторий вшита подробнейшая документация по самой архитектуре PDP-11. Я перевел классические справочники из старых PDF-файлов в современный, аккуратно сверстанный Markdown (с поддержкой Obsidian-ссылок).
В нем расписана работа каждой машинной инструкции, особенности адресации и, самое главное для написания эмуляторов — точное влияние каждой команды на флаги регистра состояния (N V Z C).
Пример страницы из справочника: описание работы команды сложения и её влияния на регистр состояния процессора (PSW).
Итоги и планы
Проект полностью открытый, распространяется под свободной лицензией MIT и доступен на GitHub. Если вы преподаете архитектуру ЭВМ или просто хотите поностальгировать по временам, когда программы писались на машинном коде — заходите, пробуйте, делитесь идеями!
Что можно улучшить в будущем:
Внедрить поддержку макроассемблера (чтобы можно было писать код текстом, а не только вводить восьмеричные числа).
Добавить поддержку дисковых накопителей.
🔗 Исходный код, релизы и инструкции: Github
📩 Почта для связи и предложений: Email
Буду рад любой критике, код-ревью и предложениям в комментариях. Если есть идеи, чего не хватает для идеального учебного эмулятора — пишите!
О том как я WoW на телефоне запускал
ВсемКу! Хочу поделиться своему успехами в области необразимого. Как то раз не имев доступа к ноуту мне очень захотелось поиграть в World of Warcraft. А так я был знаком с Winlator то мне не составило труда поставить туда ваниллу и играть там. Но ванилла это скучно поэтому я запустил сначала burning crusade, а затем и wraith of the lich king 3.3.5. Думаю фанаты циркуля и возможно сируса на месте)
Все это я делал на телефоне с ппроцессором dimensity 8200 ultimate.
Еще из прикольного я актуальный Midnight запустил, но нечестно: через облачный гейминг. Хотя я думаю не страшно.
P.s. может быть тут есть люди, которые могут знать меня под ником "Урюпий"
Играем в Starcraft в браузере и другие требовательные к производительности игры Win95\98
И всё благодаря проекту copy.sh и эмулятору v86 работающим непосредственно в браузере и использующий JIT-компиляцию в WebAssembly для высокой производительности. Из минусов эмулятор стоит выделить довольно высокий порог вхождения и сложности эмуляции. Индивидуальный подход тут нужен буквально к каждой игре - всё упирается в драйверы видео, звука и различных системных библиотек.
Тема V86 не новая, но только неделю назад появился проект от энтузиаста, который сильно заморочился и наконец то настроил десяток игр на v86 в браузере, чтобы по настоящему раскрыть потенциал этого эмулятора. Сегодня его и потестируем.
На сайте можно поиграть в оригинальные Starcraft, Red Alert 2, Heroes 3, Commandos, Half-Life, CS 1.5, Diablo 2, Age Of Empires 2 и многое другое.
Тестируем здесь (может не работать в РФ)
Что касается Dos.Zone, то у нас свой путь. В разработке сейчас свои технологии для буста производительности подобных игр в браузере.
Всем отличного времяпровождения!
RetroTick — запускай старые Windows и DOS-программы прямо в браузере
Разработчик запустил интересный проект под названием RetroTick, который позволяет запускать классические программы и игры для Windows и DOS прямо внутри браузера. То есть больше не нужно копать в виртуальных машинах или искать старые эмуляторы — достаточно открыть страницу и перетащить .exe-файл.
Технология выглядит так, как будто прошлое вторгается в наше настоящее: старые игры и утилиты оживают в современных браузерах без установки.
Как это работает
RetroTick создан как эмулятор x86-процессора + слой совместимости для Win32/Win16/DOS API на TypeScript. Он умеет:
✔ запускать 16- и 32-битные исполняемые файлы
✔ интерпретировать старые форматы PE/NE/MZ
✔ рендерить графику и интерфейсы классических программ
✔ отображать внутри браузера целые старые программы
Процесс выглядит очень просто: перетащи файл .exe на страницу, и он начинает работать так, как будто он всё ещё живёт в собственной среде.
Что можно запустить
RetroTick уже умеет запускать ряд классических программ:
🕹 Старые игры вроде FreeCell, Minesweeper и Solitaire
🖥 Программы вроде калькулятора, командной строки и звукового рекордера
📟 Утилиты вроде 3D Screen Savers
Это не полный набор, но демонстрирует, что проект способен оживить множество старых вещей.
Почему это круто
RetroTick — это не просто ещё один эмулятор. Он показывает, как можно использовать веб-технологии для сохранения цифрового наследия:
🔹 нет необходимости устанавливать виртуальные машины
🔹 полностью работает в браузере
🔹 достаточно перетащить файл, чтобы всё ожило
🔹 это бесплатное и открытое решение
Такой подход делает классические программы доступными снова, без лишних настроек и сложных конфигураций.
Минусы и ограничения
Проект всё ещё в ранней стадии:
⚠️ не все программы работают идеально
⚠️ возможны графические артефакты
⚠️ не поддерживаются все API
Но то, что уже работает — впечатляет.
Ребят, если хотите краткие и интересные новости про технологии и разработки, публикую такие посты у себя в Telegram
Там всё коротко и без лишней воды.
Эмуляция USB
Имеется руль moza r5 и ноумнейм коробка передач
В assetto corsa и в винде все прекрасно отображается и работает
Но в некоторых играх порой слетают настройки и нужно постоянно ребиндить их заново.
И сам вопрос: можно ли как нибудь эмулировать нажатие на шифтере на сам руль. То есть чтобы игра воспринимала нажатие передачи шифтера за кнопку на руле moza?
Настроил себе RetroBat — ретрокомбайн
RetroBat — это дистрибутив программного обеспечения для эмуляции, который предоставляет самый простой способ насладиться собственной коллекцией игр на компьютере с Windows.
В комплект входит полностью функциональный интерфейс EmulationStation с широкими возможностями настройки. С его помощью вы можете:
запускать все свои игры;
искать в интернете визуальные эффекты для улучшения презентации коллекции.
Ключевое преимущество RetroBat — возможность прямо из интерфейса:
загружать;
обновлять;
настраивать
самые популярные эмуляторы.
RetroBat поддерживает широкий спектр эмуляторов и позволяет запускать игры с десятков ретро‑платформ. Ниже — ключевые системы, которые он охватывает.
Основные эмулируемые платформы
Консоли Nintendo:
NES / Famicom / Dendy;
Super NES (SNES);
Nintendo 64;
Game Boy Advance;
Nintendo 3DS (Citra);
Nintendo Switch (Yuzu, Ryujinx);
GameCube и Wii (Dolphin‑emu).
Консоли Sega:
Mega Drive / Genesis;
Master System;
Saturn;
Dreamcast (Demul, Redream).
PlayStation:
PlayStation 1 (DuckStation);
PlayStation 2 (PCSX2);
PlayStation 3 (RPCS3);
PSP (PPSSPP);
PS Vita (Vita3K).
Другие популярные консоли:
Atari Jaguar (BigPEmu);
Neo‑Geo (RAINE);
3DO;
PC Engine / TurboGrafx‑16.
Компьютеры и аркадные системы:
Apple II и Apple II GS (AppleWin, GSplus);
DOS (DOSBox);
Amiga (WinUAE);
аркадные автоматы (MAME, TeknoParrot, Demul);
лазерные дисковые аркады (Daphne, Hypseus).
Современные и экспериментальные платформы:
Xbox и Xbox 360 (CXBX‑Reloaded, Xemu, Xenia);
Wii U (CEmu);
флэш‑игры (ArcadeFlashWeb);
фантазийные консоли (Pico‑8).
Конечно же, Sega, Dendy и прочие 8‑ и 16‑битные приставки эмулируются прекрасно. Мой интерес больше вызывали другие поколения приставок — таких как PlayStation 1, 2, 3, Xbox, Xbox 360, Dreamcast.
Китайские продавцы предлагают жёсткий диск в недорогом футляре. Устройство снабжено неудобным интерфейсом, а его библиотека состоит преимущественно из игр, популярных только в азиатском регионе: большинство из них неизвестны за пределами Китая, и ни одна не имеет русской локализации. При этом цена, на мой взгляд, завышена.
И тут я подумал: а почему бы не собрать свою сборку? Взял HDD на 500 гигов, накидал игр — в основном с русским языком. Ещё прихватил два неоригинальных геймпада от Xbox. И вот теперь — кайфую!
Подключите диск к USB‑разъёму.
Дождитесь, пока система распознает устройство.
Запускайте игры — всё готово!
Открыл для себя игры, которые в детстве вообще не понимал (а порой даже не мог начать, потому что они были на азиатском). Например, Final Fantasy и Zelda. Играю запоем!
При этом понимаю: раньше игры были другим делом. Они не вели тебя за ручку, а ставили перед испытанием — надо было думать, тренироваться, прокачивать скиллы. А сейчас… Я просто не могу оторваться. Обязательно попробуйте!
Минимальные требования для работы эмулятора
64‑разрядные ОС нужны для работы с большими объёмами памяти и современными эмуляторами.
SSE2 — набор инструкций процессора, необходимый для запуска большинства эмуляторов.
Direct3D 11.1 / OpenGL 4.4 / Vulkan — графические API, обеспечивающие аппаратное ускорение и совместимость с современными эмуляторами консолей (PS2, PS3, Wii U и др.).
VC++ и DirectX — системные библиотеки, без которых многие эмуляторы не запустят игры или будут работать с ошибками.
Мой пк:
Процессор: Intel Xeon E5‑2680 v3 2.50 GHz
Оперативная память: 16 ГБ
Видеокарта: AMD Radeon RX 580
Всё работает стабильно, нареканий к функционированию системы нет.















