Вышла новая версия KingStation, мультисистемного эмулятора для классического геймплея. Это ответвление от RetroArch, сделанное для готовности работать "из коробки", без перегруженного интерфейса. Пока в режиме альфа-версии, нужно многое доделать, но работает.
В программе не используются ни читы, ни сохранения, перемотки времени, сейвстейты и так далее, что предлагается в обычных эмуляторах. Почему? Потенциально игровой прогресс с такими возможностями может даваться слишком легко. Может и не даваться. На одном ретроарче можно пройти игру в исходном 320x240 разрешении без сейвов, или ultrahd 4k текстурами (выглядит трешово), с перемотками, читами сейвами. Конкретного геймплея в эмуляторах нет, технические лимиты консолей тоже снимаются в два клика, сравнивать сложновато.
Игры легко достаются бесплатно при желании, прогресс даже с сейвстейстами тоже. Особо гордиться тем, что прошёл игру "на ретроарче" или любом эмуляторе повода нет, вызов игроку тоже не бросается, обычно на эмуляторах не нужно постепенно разучивать скиллы, проявлять упорность. Поэтому софт старается приблизиться по возможности к классическому геймлею. По крайней мере проходить игры на KingStation не особо легче, чем на ориг железке.
Из фишек можно отметить наличие встроенного шейдера-калибратора, который также старается воссоздать ощущения "ретро"-дисплеев, рисуя пиксельную сетку, настраивая насыщенность (рекомендуется уменьшать, если "старые" цвета напрямую выводить на новых дисплеях, могут потечь глаза), уровни белого-черного и тд.
Раньше был другой аккаунт, но доступ (временно?) потерян.
По умолчанию доступны платформы NES, SNES, N64, PS1.
На создание форка под Android сподвигла отвратительная работа RetroArch на приставках Android TV. Может не реагировать на устройства ввода вообще, замедляет выполнение шейдеров, может испортить не один вечер. Проблемы не совсем исправлены, но постараюсь, правда свободного времени не так много.
Ещё скриншоты:
При запуске, особенно на Android TV, могут возникнуть сложности, унаследованные от RetroArch. В принципе разобрался, как исправлять, но внешними инструментами.
Играть в эмуляторы через Retroarch с удобствами типа шейдеров на нетоповых ТВ приставках невозможно, но нашел решение. Сначала немного предыстории.
Примерно за месяц в руках побывало аж 3 Андроид ТВ приставки разной степени давности ЦП ( s905x5m, s905w2, s905l), да и появился телевизор. С одной стороны прикольные штуки - маленькие, бесшумные, интерфейс не такой мелкий и загруженный как с компа.
Неплохо бы поиграть вдвоем в какую-то простенькую игру на SNES или PS1, есть пара Dualshock 4 от брата, есть "современная" приставка... Что может пойти не так?
Оказалось, можно реально бомбануть минимум в 2х местах.
Первое - это ДИКИЕ задержки Dualshock, в районе секунды. Сначала подарил приставку знакомой Tanix W2, потом брат подогнал приставку Q5 от Мегафон. Оказалось, есть прошивка Slimbox, которая делает приставку свободной. Подрубаю дуалшоки - дикие задержки. Может приставка древняя (1 Гб рам, андроид 9)? Пробую Tanix (2 Гб рам, 11 андроид) - вроде чуть лучше, но тоже самое.
Оказалось, что помогает программа Bluetooth Auto Connect. Как настроить - смотрите на 4pda. В целом быстро, но толком не понять, что это делает, почему не сделают нормального патча для андроид.
Вторая вещь - Retroarch. Юзабилити на андроид приставке полный треш. не реагирует ни на мышь, ни пульт, ни клаву. Пока не настроить, не привязать в пунктах меню, не включить физическую клаву, не зарезервировать джойстики, не разрешить всем пользователям управлять в меню.
А ещё при переподключении джойстика может тот же самый как n+1 определить и назначить. Ачо нет
И самое очковое - работа вместе с шейдерами. Кто не знает, это такие графические фильтры на GPU. Я, например, использую и сделал кастом, который рисует лёгкую пиксельная сетку, добавляет размытости, сглаживает цвета и добавляет намного "аналогового" шума. В рарче есть презеты, но слишком агрессивны. Без них - и цвета и картинка выглядит ужасно на современных мониторах.
При запуске их с Retroarch на приставке начинаются дикие лаги, фпс падает до 40, может до 5 или вообще зависнуть. Различные пропуски кадров (и рендеринг в отдельном потоке) к дико рваной картинке приводят.
Нуачо - наверно приставки говно с дохлой видюхой? Не видать шейдеров. На самом деле не совсем. Опытным путем выяснилось, что выставив виртуальное разрешение рендеринга ИМЕННО для Retroarch через спец программу (использовал Franco kernel manager) в 720p, производительность увеличивается до двух и выше раз на Tanix W2. Было 40 фпс - стало 80 (в режиме без огранов скорости и без пропусков кадров). Нужно чтоб было не меньше 60.
Проблема в кривом Retroarch, который не умеет выставлять итоговое разрешение рендеринга и не позволяет делать это со стороны шейдеров. И это очень тупо. Превращает целый класс устройств в жуткие тормозилки. Перемудренный и тупой интерфейс и локальные глюки приставок заставляют страдать.
Кто хочет скачать шейдер, ссылка вот, пока только glsl.
С определенной частью ретро-гейминга есть большие проблемы.
Вроде dualshock фирменный пад, тачпады есть, подсветка есть, но на Андроиде и Винде свой цирк с корнями, не говоря про micro USB.
Вроде есть "игровые" геймстики и "неигровые" приставки, но в геймстиках железо намного хуже чем в приставках, а в приставках намного слабее даже бюджетных смартфонов, но эмули могут работать и хорошо и с фильтрами, но не хотят. Нет ни толком шейдеров с оптимизацией (не "все в одном"), ни нормальной оптимизации от рарча.
Как назначить управление клавишами в игре Subway Surfers City на андроид-эмуляторе BlueStacks. И сделать широкий экран.
В андроид-эмуляторе BlueStacks вышедшая игра "Subway Surfers City" запускается Но по умолчанию управление клавиатурой не работает, в отличии от предыдущей игры.
Чтобы назначить широкий горизонтальный режим экрана, нужно справа найти значок "Квадрат и прямоугольник". А затем выбрать "Горизонтальный режим" Далее игра перезапуститься, или сами ее закройте и по новой откройте.
АЛГОРИТМ ДЕЙСТВИЙ ПО НАЗНАЧЕНИЮ КЛАВИШ в BlueStacks.
1. Запустите игру, в ней начните забег, и нажмите на паузу(слева квадрат с двумя полосками).
Справа по краю, найти значок клавиатуры, а в появившемся меню выберите "Редактор игрового управления"
Справа по краю, найти значок клавиатуры., а в появившемся меню выберите " Редактор игрового управления"
2. Находим среди появившихся значков, значок с надпись D-pad.
3. Перетаскиваем значок D-pad на нижнюю часть игровой области. Это позволит вам играть с клавиатуры, а не щелчками клавиш мыши.
По умолчанию, на виртуальном D-pad , будут отображаться в качестве игровых клавиш: A W S D
Но можно кликнуть мышкой на буквы внутри виртуального геймпада, и назначить вместо них обычные стрелки
Например кликаем мышью на букву "W", а затем нажимаем клавишу "Стрелка вверх". Это переназначение клавиш.
Теперь, чтобы игрок шел вперед или подпрыгивал, надо нажимать не клавишу W, а просто клавишу "Стрелка вверх".
4. Чтобы можно было взять и использовать доску/скейтборд, нужно найти справа значок "Область нажатия", и перетащить его чуть выше области геймпада, который вы ранее перетащили на игровую область.
Затем кликнуть на перетянутый значок "Область нажатия", и нажать клавишу "Пробел".
Теперь доска/скейтборд будут активироваться и использоваться, при нажатии клавиши пробел, а не при кликании левой клавиши мыши.
5. Чтобы быстро выйти меню паузы во время игрового процесса/забега при нажатии клавиши, нужно найти справа значок "Область нажатия", и опять перетащить его на область, где находится игровой значок пайз в виде квадрата с двумя полосами.
6. Затем кликаете на перетянутый на игровую область значок, и нажимаете клавишу "Q" например, т.к клавишу ESC не назначает в данном случае.
7.Внизу, под всем предлагаемыми значками находим кнопку "Сохранить", и нажимаем на нее.
Как "Subway Surfers City" сделать широкой и полноэкранной.
В NoxPlayer новая игра "Subway Surfers City" запускается в эмуляторе Nox. Но по умолчанию управление клавиатурой.
Запустив игру, сразу выберите полноэкранный режим, если вам хочется играть на широкий горизонтальный экран!
Т.к при смене ориентации экрана, настройки клавиш перестают работать, и их надо сбрасывать(удалять текущую конфигурацию настроек клавиш), и назначать по новой чтобы при новой ориентации экрана заработали.
При смене ориентации экрана, настройки клавиш надо сбрасывать(удалять текущую конфигурацию настроек клавиш), и назначать по новой чтобы при новой ориентации экрана заработали
АЛГОРИТМ ДЕЙСТВИЙ ПО НАЗНАЧЕНИЮ КЛАВИШ.
1. Запустите игру, начните забег, и затем поставьте игру на паузу(Слева значок- квадрат с двумя полосками. Затем, справа по краю, найдите значок клавиатуры.
2. Находим среди появившихся значков, значок с надпись D-pad.
3. Перетаскиваем значок D-pad на низ игровой области. Это позволит вам играть с клавиатуры, а не кликаниями мыши.
По умолчанию, будут отображаться в качестве игровых клавиш A W S D
Но можно кликнуть на буквы внутри геймпада, и назначить вместо них обычный стрелки Например кликаем на букву W, нажимаем клавишу "Стрелка вверх".
И теперь чтобы игрок шел вперед или подпрыгивал, надо нажимать не клавишу W, а просто клавишу "Стрелка вверх".
4. Чтобы можно было взять и использовать доску/скейтборд, нужно найти справа значок "Один клик", и перетащить его чуть выше области геймпада, который вы ранее перетащили на игровую область.
Затем кликнут на перетянутый значок "Один клик" и нажать клавишу Пробел.
Теперь доска/скейтборд будут активироваться при нажатии клавиши пробел, а не при кликании левой клавиши мыши.
5. Чтобы быстро выйти меню паузы во время игрового процесса/забега при нажатии клавиши, нужно найти справа значок "Один клик", и опять перетащить его на область, где находится игровой значок пайз в виде квадрата с двумя полосами.
Затем кликаете на перетянутый на игровую область значок, и нажимаете клавишу "Q" например, т.к клавишу ESC не назначает в данном случае.
6.ВНизу под всем предлагаемыми значками находим кнопку "Сохранить", и нажимаем на нее.
Настройка управление игры Subway Surfers через клавиатуру, в эмуляторе Nox.
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. И вот теперь — кайфую!
HDD 500GB и два геймпада.
Подключите диск к 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
Всё работает стабильно, нареканий к функционированию системы нет.
Всем привет, чуть больше года назад я рассказал о двух способах запустить нашу любимую игру на андроиде, но после них у людей все равно было много вопросов и проблем с запуском. Главной причиной проблем были их телефоны с процессором Mali, предыдущие гайды тестировались на телефонах с Snapdragon, поэтому я подготовил еще два способа запуска для тех, кому не подошли предыдущие два.
Вариант №3: Модифицированная версия Winlator для процессоров Mali
Тут как я писал в первом гайде рекомендую самостоятельно потыкать настройки, но если самостоятельно не получается рекомендую выставить настройки как на скриншотах ниже:
Шаг 3: Настройка наэкранного управления
Это очень важный шаг, т.к без него вместо игры вы будете видеть черный экран. Для начала нам нужно создать наэкранную кнопку F4 для вызова меню настроек враппера, для этого запускаем контейнер -> вызываем меню -> переходим в управление вводом -> нажимаем шестеренку -> в открывшемся окне нажимаем "+" -> чуть ниже нажимаем редактирование -> в открывшемся окне можно настроить наэкранное управление, для начала нужна копка F4, остальное можно добавить по вашему усмотрению.
Шаг 4: Настройки враппера:
Настало время первого запуска игры. Запускаем игру, выбираем созданный ранее профиль управления и нажимаем на F4, переходим в Display -> Renderer -> выбираем GDI и можем наслаждаться игрой
Если у вас возникнут сложности с настройкой - не стесняйтесь обращаться к админу или ко мне в ЛС
P.s. Если у вас при следующих запусках будут проблемы с разрешением экрана, просто вызываете настройки враппера кнопкой F4 и повторным нажатием закрываете, после этого разрешение должно исправиться
Запуск Disciples II на андроид. Вариант №4
Этот гайд рассказывает, как запустить игру Disciples II на Android с помощью эмулятора GameHub. GameHub — это не только эмулятор, но и игровой лаунчер, поддерживающий учетную запись Steam. Подробно описаны шаги установки, подготовки, настройки для Mali-чипов и настройки самой игры. Для Mali необходимы специфические настройки, такие как выбор версий dxvk и vkd3d. Также упоминается возможность выбора различных видов рендера, включая OpenGL2.
Снова здравствуйте, этот гайд посвящен вышедшему относительно недавно эмулятору GameHub (он же GameFusion). Гайд подойдет как для телефонов с Snapdragon, так и для счастливых обладателей Mali.
В первую очередь хочу отметить, что GameHub является не просто эмулятором ПК игр, а полноценным игровым лаунчером с возможностью войди в свою учетную запись Steam, что позволит скачивать игры на телефон напрямую с стима. Так же из плюсов хочу отметить простоту в использовании, достаточно просто указать путь к папке с игрой и он автоматически подберет настройки (для владельцев с мали придется чуть чуть поковыряться с настройками, они будут чуть ниже).
Шаг 1: Установка
Просто качаем apk и устанавливаем его на телефон (ВНИМАНИЕ! Ни в коем случаем не обновляем эмуль через PlayMarket и иные магазины, т.к после таких обновлений эмуль у вас не запустится. Так же при ручном обновлении учитывайте то, что все настройки у вас могут слететь)
Шаг 2: Небольшая подготовка
Запускаем эмулятор и входим в учетку гугла. По желанию можно зайти в учетную запись Steam. Добавляем игру вручную, если переносили ее с ПК на телефон, либо качаем из стима. Для телефонов с Snapdragon можно попробовать запустить с дефолтными настройками и посмотреть как игра будет работать, при необходимости подкорректировать настройки. Для телефонов с Mali нужно зайти в настройки игры и пошаманить (Приведенные ниже настройки тестировались только на Disciples 2, для других игр возможно потребуются другие настройки).
Шаг 3: Настройка для Mali
В Настройках переходим в вкладку "Совместимость", далее я списком укажу какие параметры к пунктам указаны у меня (если пункт пропущен - значит настройки не важны, либо стоят дефолтные):
Совместимость -> proton10.0-arm64x-2
Параметры трансляции -> Экстрим
Версия DXVK -> Тут нужно будет докачать драйвер (он сделает это автоматически при его выборе) dxvk-1.11.1-mali.fix
Версия VKD3D -> vkd3d-2.12
Шаг 4: Настройка игры
При первом запуске игра будет докачивать файлы, нужно подождать, также необдходимо создать F4 в наэкранном управлении, ее создание аналогично предыдущему гайду, поэтому здесь описывать не буду, но в этом эмуляторе есть жирнющий плюс, тут можно выбрать и другие виды рендера, лично я играю с OpenGL2.
Все дальнейшие настройки будут индивидуальными под каждый телефон, советую попробовать разные варианты самостоятельно
Хочу поделиться сайтом с модами Dune 2 the battle for arrakis smd. Отличительная особенность от других таких сайтов в возможности запуска прямо в браузере вашего устройства. Играть можно уже прямо сейчас, управление с геймпада, клавиатуры и сенсорного экрана.
Оригинальная игра с русской локализацией тоже представлена.
На данный момент на сайте представлены самые последние версии хаков от авторов с emu-land.
В ближайшее время сайт будет дорабатываться. Уже в разработке возможность сохранять и импортировать настройки профилей управления. Так же в планах добавить настройки масштабирования, позиционирования и сохранения/загрузки кнопок виртуального геймпада для устройств с сенсорным экраном.
В будущем планируется возможность сохранять настройки, сейвы и чит файлы в свой профиль на сайте.
Kenbak-1 не имел ни экрана, ни клавиатуры, ни даже микропроцессора (в современном понимании), но это не помешало ему войти в историю, как первый персональный компьютер.
В статье я расскажу о том, как создал уникальный iOS‑эмулятор Kenbak-1, что послужило мотивацией к этому, о деталях реализации, и почему это устройство поможет вам понять фундаментальные принципы работы современной вычислительной техники.
Оригинальный Kenbak-1
Джон Бланкенбейкер со своим творением
В 1971 году инженер Джон Бланкенбейкер создал и выпустил компьютер Kenbak‑1 — устройство, которое сегодня признают первым персональным компьютером в истории.
Цель создания была образовательной: Бланкенбейкер хотел показать, как работают вычислительные машины, и дать людям возможность познакомиться с основами вычислительной техники. Он стремился сделать компьютер не для крупных организаций, а для индивидуального использования ‑ чтобы с ним мог работать один человек без специальной подготовки.
Всего выпустили около 40 — 50 экземпляров по цене 750 долларов за штуку. В масштабах индустрии это очень мало, и коммерческого прорыва не случилось — массового спроса тогда ещё не существовало.
Тем не менее идея «компьютера для одного человека» оказалась пророческой: Kenbak‑1 вдохновил последующие поколения изобретателей и стал предтечей любительских ПК 1970‑х и 1980‑х годов (таких как Altair 8800 и Apple I).
Если есть желание узнать больше об оригинальном Kenbak-1 — на Хабре есть прекрасная статья, которой я вдохновлялся. Советую почитать!
Как возникла идея эмулятора
Сколько себя помню, мне всегда были интересны компьютеры, технологии и IT индустрия в целом. Уже в сознательном возрасте у меня появилась тяга к разным ретро‑девайсам. Хоть я и не застал золотой эпохи (мой первый компьютер был пресловутый Pentium на Windows XP), меня невероятно вдохновляет та особая атмосфера 70–80-х годов, в которой были разработаны и воплощены в жизнь многие легендарные технологии и устройства. Внешний вид, функциональность, инженерные и дизайнерские решения — это был настоящий расцвет вычислительной техники и персональных компьютеров в частности.
Вечерами я засматривал до дыр ролики на YouTube с обзорами старых компьютеров: Commodore 64, Psion 5mx, ZX Spectrum. Я никогда не держал их в руках, но ясно чувствовал: эти творения стоят на вершине инженерного искусства.
Однажды в одном из таких видео мне попался Altair 8800 — устройство, необычное для моего восприятия. Сознание привыкло, что компьютер — это клавиатура и экран (пусть и в виде подключаемого телевизора), а здесь были только переключатели и светодиоды. Как это программировать?!
Altair 8800 - микрокомпьютер, разработанный компанией MITS
Внешняя эстетика Altair 8800 (красивее для меня разве что PDP-11/70) заставила меня углубиться в его устройство и принципы работы. Я нашёл цикл видео о том, как он функционирует и как на нём программировать, затем отыскал онлайн‑эмулятор и попробовал писать программы машинным кодом. Это стало для меня открытием нового мира.
Вскоре я осознал, что пользоваться онлайн‑эмулятором удобно лишь дома. А мне хотелось изучать программирование машинными кодами в пути — в метро, в перерывах на работе, иметь быстрый и лёгкий доступ к компьютеру на ходу. Так родилась идея найти эмулятор для iOS. К сожалению, подходящего приложения не оказалось — и я решил создать его сам.
Но когда я начал разбираться с внутренним устройством Altair 8800 и оценил будущий объём работы, стало ясно: задача слишком масштабна для меня. Тогда я стал искать альтернативы.
И тут я наткнулся на Kenbak‑1. Изучив информацию о нём, я понял: по сути он очень похож на Altair 8800 — те же органы управления и вывода данных, программирование машинным кодом, — но при этом значительно проще в реализации. Его минимализм стал решающим фактором. Решение было принято: я начал разработку iOS‑эмулятора Kenbak‑1.
Устройство эмулятора
Технические моменты:
язык программирования — Swift
среда разработки — XCode 16
реализация UI — SwiftUI + UIKit, использование CADisplayLink для синхронизации обновления состояния панели с обновлением экрана смартфона (для снижения энергопотребления)
реализация процессора — полная эмуляция всех инструкций процессора в соответствии с документацией по оригинальному Kenbak-1
тестирование — написан тестовый модуль, покрывающий все инструкции процессора
Главный экран
Главный экран приложения — адаптированная передняя панель Kenbak-1
В своих проектах я редко заранее прорабатываю пользовательский интерфейс. Действую, обычно, по наитию, создавая UI на ходу, на свой вкус.
В виду особенностей экрана смартфона пришлось разместить группы кнопок в два ряда, а не в один, как в оригинале.
В верхней части реализован информационный бар: текущее значение светодиодной панели в разных системах счисления, выбранный регистр (на Kenbak-1 их всего 9), выбранная инструкция процессора, а также текущее значение регистра PC.
Набор регистров Kenbak-1
В целом, набор кнопок и подписи к ним соответствуют оригинальной панели компьютера, но имеются и дополнительные 4 кнопки, которые существенно улучшают опыт взаимодействия с эмулятором.
Экран Program
Экран Program с возможностью сохранения и выгрузки программ
На экране «Program» есть возможность сохранять и выгружать из памяти ранее написанные программы. Хранятся они в UserDefaults в виде полного дампа памяти. Благо объём одного дампа небольшой — всего 256 байт, поэтому чтение/запись мгновенные.
Также реализовано горячее сохранение текущей программы, чтобы пользователь не потерял свои наработки, если случайно выгрузит приложение. При следующем входе программа будет в том же состоянии.
Если возникнет желание обновить уже сохраненную программу — это можно сделать введя то же имя при сохранении — приложение попросить вас подтвердить намерение и обновит дамп памяти.
В целом реализация этого модуля не содержит каких‑то особых решений.
Экран Memory Dump
Полный дамп памяти компьютера
На экране «Memory Dump» можно увидеть полный дамп памяти компьютера. В каждой ячейке данные отображаются в восьмеричной и десятеричной системах счисления. Есть возможность пошагово выполнять программу, чтобы следить как меняются данные.
Нижний бар показывает текущую исполняемую инструкцию и её операнд. Можно нажать на любую ячейку и просмотреть информацию для нее. Очень удобно дебажить программу и находить ошибки.
Модель памяти реализована в приложении довольно просто:
Экран Settings
Экран настроек эмулятора
На экране настроек есть возможность изменить скорость работы процессора. В оригинальном Kenbak-1 скорость была около 480 инструкций в секунду.
Можно как понизить скорость до 1, так и повысить до 1000 инструкции в секунду. Это позволяет наглядно наблюдать работу процессора во время выполнения программы, что несет большой образовательный момент.
Реализация нужной частоты процессора достигается за счёт использования функции usleep с нужным параметром задержки:
Также я добавил выключатель, который позволяет блокировать кнопки на панели управления во время выполнения программы, чтобы случайно не испортить данные в памяти.
Экран Info
На экране информации есть описание приложения и набор оригинальной документации
Чтобы не искать и не хранить информацию о Kenbak-1 я включил в состав приложения набор оригинальной документации по компьютеру от самого Джона Бланкенбейкера.
Это три документа в формате PDF, которые можно открыть прямо из приложения:
Инструкция к оригинальному Kenbak-1 c объёмной теорией по программированию
Инструкция по работе с процессором Kenbak-1 и программированию машинными кодами
Набор лабораторных упражнений с Kenbak-1, которые можно попробовать выполнить самому
Я думаю, это одно из удачных решений, которое делает этот эмулятор прекрасным инструментом для изучения программирования машинными кодами. Простота архитектуры компьютера и полнейший набор документации дают богатую почву для экспериментов.
Экран Select command
На экране выбора командны можно настроить нужную команду
Пожалуй, самой удобной фичей приложения можно считать экран «Select command». Хоть в Kenbak-1 и не большой набор инструкций запомнить их все в виде машинных кодов будет сложно, а каждый раз возвращаться к табличке из документации не удобно.
Таблица построения машинного кода для инструкции
Реализованный селектор команд позволяет очень быстро настроить требуемую инструкцию процессора и внести её в память. Это значительно ускоряет набор программ и даёт сосредоточиться на логике и алгоритмах.
Структура команды:
Что получилось?
Эмулятор Kenbak‑1 — это не просто цифровой артефакт из истории IT, а увлекательный инструмент для гиков и любознательных пользователей, которые хотят заглянуть в истоки вычислительной техники. Приложение переносит в 1971 год — к самому началу эпохи персональных компьютеров. Здесь нет современных абстракций: только чистая логика, биты и байты, переключатели и мигающие светодиоды.
Работа с эмулятором превращается в интеллектуальный вызов: вы программируете через виртуальные переключатели, считываете результат по индикаторам и шаг за шагом постигаете, как на самом деле устроены компьютеры. Такой формат — мощный тренажёр для алгоритмического мышления: он учит чётко выстраивать последовательности, отслеживать промежуточные состояния вычислений и отлаживать логику без привычных инструментов.
При этом обучение удобно и доступно: можно экспериментировать с машинным кодом где угодно — в дороге, на перерыве, дома. Вы можете в любой момент запустить приложение, проверить гипотезу или написать простейшую программу.
А ещё это подлинно гиковский опыт: ощущение тактильности (пусть и виртуальной), радость от запуска первой программы на «железной» логике и чувство связи с пионерами IT. Простота Kenbak‑1 вдохновляет: она наглядно показывает, что даже с минимальными ресурсами можно создать полноценную вычислительную систему. Такой взгляд на прошлое помогает иначе увидеть настоящее — и найти идеи для собственных проектов.
Планы на развитие
Последняя версия была выпущена пол года назад. Я реализовал тот функционал, который был интересен и полезен именно мне.
За это время я не заметил интереса к приложению и не получал никакой обратной связи. Но несколько идей у меня есть:
Добавить перевод машинного кода в ассемблер для Kenbak-1 для более лёгкого восприятия
Реализовать некий интерфейс расширения (работу с WiFi, консоль и тп)
Возможность делиться файлом программы с другими пользователями
Добавить вшитый список интересных программ для изучения
Если вам этот эмулятор покажется интересным и у вас будут идеи — пишите в комментарии — может, я продолжу его развивать.
Зключение
Для меня ретро‑девайсы больше, чем просто интересные вещи — это символ эпохи, когда люди изобретали и воплощали в жизнь самые смелые инженерные и дизайнерские идеи. Это то, что навсегда останется в истории и будет греть душу таким гикам, как я. Я сделал этот эмулятор для себя и вложил в него много сил и кусочек своей души. И было бы очень здорово, если среди вас есть такие же любители девайсов из прошлого, как я. Если да — обязательно попробуйте узнать этот компьютер поближе.
Если вам захочется скачать и попробовать этот эмулятор вот ссылка в AppStore. Приложение полностью бесплатное. Есть возможность запуска на iPadOS и MacOS (но наиболее удачно интерфейс выглядит на iOS).