Как стать автором
Обновить

Марк Раатс — Любитель эмуляций

Время на прочтение 1 мин
Количество просмотров 561
IT-компании
Для тех, кто любит эмулировать мак на pc — www.markraats.com/Apple_Emulation.htm страница посвященная эмуляции от интереснойшего человека, художника звездных войн, а так-же любителя маков. Содержит интересные «темы» особенно понравился Carbon. Высказывайте мнения, с нетерпением жду.
Всего голосов 16: ↑13 и ↓3 +10
Комментарии 41

Обзор мультиплатформенного портативного эмулятора GP2X Wiz

Время на прочтение 9 мин
Количество просмотров 6.9K
Гаджеты
Данный обзор я решил опубликовать спустя 8 месяцев с момента приобретения, чтобы в полной мере оценить возможности устройства и его комьюнити.

После многочисленных переносов (первоначально релиз планировался на конец октября 2008 года), доработки прошивки и написания необходимого количества собственных приложений для нормального старта продукта, в конце апреля 2009 года вышел GP2X Wiz.

image
Читать дальше →
Всего голосов 52: ↑49 и ↓3 +46
Комментарии 73

Игры, выжавшие из NES максимум (часть 1)

Время на прочтение 5 мин
Количество просмотров 57K
Разработка игр *
Перевод
Вспомишь игры, в которые заигрывался на NES (в народе известной как «Dendy»), и диву даешься, насколько, в сравнении с современностью, проста и даже примитивна была игротека тех времен. Однако, если хорошо покопаться в архивах картриджей, там можно найти на удивление много игр, обладающих отличной графикой и выдающимся звуком, которые никак не ожидаешь встретить на такой слабой консоли.

NES, как и ее многочисленные клоны, была популярна в мире на протяжении целого десятилетия, поэтому игроделы имели возможность прокачать скиллы в разработке под нее, и выжать из старушки максимум возможностей, вплоть до последнего жалкого бита. Ниже приводится обзор самых навороченных и технически продвинутых игр для NES, выполненный уважаемым racketboy.

Это первая часть перевода, продолжение здесь, окончание здесь.

Тряхнуть стариной
Всего голосов 141: ↑131 и ↓10 +121
Комментарии 148

Игры, выжавшие из NES максимум (часть 2)

Время на прочтение 5 мин
Количество просмотров 29K
Разработка игр *
Перевод
Продолжение обзора самых навороченных и технически продвинутых игр для NES.
Начало здесь.
Окончание здесь.

Сдуть пыль с игротеки
Всего голосов 77: ↑68 и ↓9 +59
Комментарии 90

Игры, выжавшие из NES максимум (часть 3, заключительная)

Время на прочтение 9 мин
Количество просмотров 42K
Разработка игр *
Перевод
Окончание перевода обзора самых продвинутых игр для NES.

Первая часть.
Вторая часть.

Узреть содержимое
Всего голосов 58: ↑52 и ↓6 +46
Комментарии 100

YINLIPS YDP-G18 или PS Vita по-китайски

Время на прочтение 7 мин
Количество просмотров 13K
Гаджеты
Доброго времени суток, %username%! Вот уже более суток, как на территории Страны восходящего солнца во всю продается PS Vita — новая чудо-приставка от Sony, которую благородные самураи продают на ebay за 500-600 долларов. Однако, мало кто знает, что уже месяц как в Китае продается её сестра-близнец по цене, едва превышающей 120 долларов. Ниже о ней и пойдет речь.

Далее трафик
Всего голосов 34: ↑28 и ↓6 +22
Комментарии 59

Строим Android x86

Время на прочтение 7 мин
Количество просмотров 60K
Блог компании Intel
Существует множество задач, для которых требуется пересборка ядра и операционной системы Android в целом. Например, создание и отладка собственных модулей, включение поддержки профилирования системы и просто тестирование своих приложений на новой версии Android.
Возможность запуска Android x86 внутри виртуальной машины VirtualBox позволяет энтузиастам и создателям прошивок покопаться в настройках системы, настроить и пересобрать ядро и при этом не «кирпичизировать» настоящее устройство. VirtualBox предоставляет возможность использования привычных для Linux-разработчика средств отладки ОС. Для рядовых разработчиков Android-приложений отлично подходит эмулятор, использующий технологию Intel Hardware Accelerated Execution Manager. (подробнее можно прочесть здесь)
В статье приведен ряд практических советов по сборке образа Android x86 для запуска под виртуальной машиной VirtualBox и сборке эмулятора. Исходный код Android взят из официального репозитория проекта AOSP (Android Open Source Project), в качестве ядра использована адаптированная версия ядра Linux 2.6 от Intel.
Читать дальше →
Всего голосов 67: ↑64 и ↓3 +61
Комментарии 19

[NES] Пишем редактор уровней для Prince of Persia. Глава первая. Знакомство

Время на прочтение 10 мин
Количество просмотров 30K
Assembler *
Глава первая, Глава вторая, Глава третья, Глава четвертая, Глава пятая, Эпилог

Disclaimer

В детстве, как и у многих, родившихся в 80-х, у меня была приставка Dendy. Клон японской FamiCom, подаренный нам добрыми китайцами, и распространяемый небезызвестной Steepler, раскрасил в яркие цвета детство многих из поколения 80-х. Раз за разом, проходя полюбившиеся мне игры вдоль и поперек, находя все возможные секреты (причем, зачастую, без книжек с громкими заголовками в духе «Секреты и прохождения 100500+1 игр», ценность которых стремилась к нулю), мне хотелось играть в них еще и еще, но с новыми уровнями, новыми секретами и новыми возможностями.

Некоторые игры предусматривали встроенный редактор уровней (например, Battle City, Fire'n'Ice aka Solomon's Key 2), но большинство из них, разумеется, таковой возможности не предоставляли. Хотелось сыграть (естественно!) в новый Super Mario Bros (о, как я любил и ненавидел китайцев, выпустивших картридж 99...9 in 1, в котором были уровни A-1, B-1,… Z-1, которые невозможно было пройти, или которые представляли собой дубли оригинальных уровней, но с измененными текстурами), Duck Tales 1, 2 и многие другие.

С появлением компьютера и возможности эмуляции на нем игр, забрезжил свет в конце туннеля моей мечты, и во мне начала украдкой теплиться надежда. Начали появляться различные редакторы игр, в которых достаточно указать ROM-файл и ты можешь не только увидеть всю игру целиком со всеми ее секретами и подводными камнями, но и добавить что-то свое.

Между тем, редакторы на одни игры находились чуть ли не по первым ссылкам в гугле, на другие же были запрятаны либо где-то далеко (но находились таки), либо отсутствовали вовсе. Найдя редакторы для большинства любимых мной игр, я никак не мог найти редактор для Персидского принца. Да, есть редакторы для DOS-версии, есть для SNES, но моя родная, — NES-версия, была обделена таким сокровищем.

Различного рода ресурсы по NES и ее эмуляции не очень охотно поддавались моему пониманию и я так и оставался где-то на уровне нуба.

И, однажды, в час небывало жаркого заката, в Москве, я, подтянув ремень, открыв HEX-редактор и эмулятор с отладчиком, приступил к изучению загадочного для меня набора байтов, содержащихся в ROM.

Начал я… Впрочем, перед тем, как я начну рассказывать далее, предостерегу:
Не рекомендуется лезть под кат профессионалам. Там рассматриваются «живодерские» методы новичка! Работа Вашей нервной системы может быть необратимо нарушена! Я предупредил.

Читать дальше →
Всего голосов 81: ↑76 и ↓5 +71
Комментарии 7

[NES] Пишем редактор уровней для Prince of Persia. Глава вторая. Букетно-конфетный период

Время на прочтение 7 мин
Количество просмотров 14K
Assembler *
Глава первая, Глава вторая, Глава третья, Глава четвертая, Глава пятая, Эпилог

Disclaimer

Листая в редакторе изображений (в нем было очень удобно переходить между изображениями в папке) скриншоты, которые сделала для меня утилита, я… проснулся от будильника. На экране монитора светился очередной скриншот, который в списке находился где-то в первой трети из общего числа. Вопрос надо было решать каким-то иным способом.

Вечером того же дня…

Читать дальше →
Всего голосов 72: ↑71 и ↓1 +70
Комментарии 1

[NES] Пишем редактор уровней для Prince of Persia. Глава третья. Первые строчки кода

Время на прочтение 9 мин
Количество просмотров 8.3K
Assembler *
Глава первая, Глава вторая, Глава третья, Глава четвертая, Глава пятая, Эпилог

Disclaimer

Процесс исследования — весьма занимательный процесс. Когда по байтику раскидываешь ту бинарную кашу, которая находится в файле, получается весьма стройная архитектура, которая скрывается за пеленой тех забавных закорючек, которые отображаются в шестнадцатеричном редакторе (или того хуже — в текстовом редакторе). Подход к процессу исследования необязательно должен сопровождаться тонкими технологиями, иногда проще разбить все молотком и изучать осколки. Ну, как в детстве.

Читать дальше →
Всего голосов 27: ↑27 и ↓0 +27
Комментарии 9

[NES] Пишем редактор уровней для Prince of Persia. Глава четвертая. Он сам бежит! Или скелет в шкафу

Время на прочтение 8 мин
Количество просмотров 15K
Assembler *
Глава первая, Глава вторая, Глава третья, Глава четвертая, Глава пятая, Эпилог

Disclaimer

Если мы редактируем игру, то мы должны привести все ее детали в соответствие. Было бы глупо свою версию игры показывать миру, если в ней вылезают осколки оригинальной версии, вступая в противоречие с новым, вложенным в нее нами смыслом. Редактирование уровней игры не позволяет поменять некоторые повороты сюжета, которые вложили разработчики изначально.

С небольшой задержкой мы будем исправлять и сюжет.
Читать дальше →
Всего голосов 61: ↑60 и ↓1 +59
Комментарии 7

[NES] Пишем редактор уровней для Prince of Persia. Глава пятая. Отражение

Время на прочтение 14 мин
Количество просмотров 16K
Assembler *
Глава первая, Глава вторая, Глава третья, Глава четвертая, Глава пятая, Эпилог

Disclaimer

Несмотря на то, что я хотел сделать простой редактор, который позволит изменить лишь «внешний вид» уровней игры, двойник персонажа не давал мне покоя. Мне очень не хотелось лезть глубоко в движок игры, но этот негодяй, появляющийся из зеркала, затем выпивающий бутылку «отравы» в середине игры, а потом и вовсе сбрасывающий принца в пропасть, не давал мне покоя. Неделю я боролся с психологическим эффектом «незавершенного действия», но так и не смог его побороть.

В ночь с пятницы на субботу я снова открыл отладчик, RAM Filter и начал искать…
Читать дальше →
Всего голосов 86: ↑86 и ↓0 +86
Комментарии 11

[NES] Пишем редактор уровней для Prince of Persia. Эпилог. Темница

Время на прочтение 6 мин
Количество просмотров 18K
Assembler *
Глава первая, Глава вторая, Глава третья, Глава четвертая, Глава пятая, Эпилог

Disclaimer

«Раз за разом, проходя полюбившиеся мне игры вдоль и поперек, находя все возможные секреты, мне хотелось играть в них еще и еще, но с новыми уровнями, новыми секретами и новыми возможностями.», — писал я. Естественно, проходя одну и ту же игру в «штатном» режиме, начинался поиск чего-то такого, что скрыто за кадром. Если игра имеет скрытые уровни, комнаты, приемы или систему паролей, то обязательно весь день и еще полночи проходили за голубым экраном в попытках это найти, а пароли взломать. PoP не был исключением. И хотя тут я не подобрал алгоритм составления паролей, но все же смог найти парочку методов, которые позволяют составить правильный пароль из уже имеющегося. Правда сказать, куда ведет новый пароль, до момента его использования, я не мог.
Читать дальше →
Всего голосов 97: ↑95 и ↓2 +93
Комментарии 4

Запускаем и эмулируем Windows на Raspberry Pi с помощью QEMU

Время на прочтение 3 мин
Количество просмотров 35K
Программирование *Разработка под Linux *
Из песочницы
Скорее всего это первый русскоязычный мануал о настройке QEMU на Raspberry.

Какое-то время назад я загорелся идеей запустить на своей Raspberry Pi 2 какую-нибуть Windows систему. Сначала я хотел узнать возможно ли установить её, просто записав на SDCARD и вставив в «малинку», но этому не дано было осуществится…

После я стал искать возможность запуска через какие-нибудь эмуляторы. Наткнулся на QEMU и стал копаться с ним. Пытался я запустить эмулятор очень долго, почти всё, что я находил на форумах, было написано на английском, причём информации там было «по-минимуму», а людей, которые запустили, было совсем немного. После нескольких неудачных попыток запуска QEMU, я решил написать на 4PDA в теме, посвящённой Raspberry. Там мне помогли, и я благополучно запустил Windows 98 (почти идеально...). Запускал я это на Raspibiane (Debian).
Читать дальше →
Всего голосов 13: ↑10 и ↓3 +7
Комментарии 9

Собственная платформа. Часть 0.2 Теория. Интерпретатор CHIP8

Время на прочтение 7 мин
Количество просмотров 6.9K
Ненормальное программирование *Assembler *Компиляторы *Программирование микроконтроллеров *
Перевод

Введение


Здравствуй, мир! Сегодня у нас перевод спецификации языка CHIP8. Это статья содержит только теоретическую часть.


*COSMAC ELF во всей красе*

COSMAC ELF


Что такое CHIP8?


CHIP8 это интерпретируемый язык программирования, который был разработан Джозефом Вейзбекером (прим. перевод Joseph Weisbecker) в семидесятых для использования в RCA COSMAC VIP. В дальнейшем был использован в COSMAC ELF, Telmac 1800, ETI 660, DREAM 6800. Тридцать одна (35?) инструкция давали возможности для вывода простого звука, монохромной графики в разрешении 64 на 32 пикселя, а также позволяло использовать 16 пользовательских кнопок. Сегодня CHIP-8 часто используется для обучения базовым навыком эмуляции (не интерпретации). Интерпретаторы CHIP-8, часто по ошибке называемые „эмуляторами“, существуют на все более расширяющемся множестве платформ. Это обилие интерпретаторов связано со сходством дизайна интерпретатора CHIP-8 и эмулятора системы. Те, кто хочет разобраться в эмуляторах, нередко начинают с написания интерпретатора CHIP-8.


Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 4

Удалённое управление эмулятором Fceux с помощью Python

Время на прочтение 8 мин
Количество просмотров 5K
Python *
В статье я опишу, как сделать эмулятор NES управляемым удалённо, и сервер для удалённой отправки команд на него.



Зачем это нужно?


Некоторые эмуляторы различных игровых консолей, в том числе и Fceux, позволяют писать и запускать пользовательские скрипты на Lua. Но Lua – плохой язык для написания серьёзных программ. Это скорее язык для вызова функций, написанных на Си. Авторы эмуляторов используют его только из-за легковесности и простоты встраивания. Точная эмуляция требует много ресурсов процессора, и ранее скорость эмуляции была одной из главных целей авторов, а о возможности скриптования действий если и вспоминали, то далеко не в первую очередь.

Сейчас мощности среднего процессора с головой хватает для эмуляции NES, почему бы тогда не использовать в эмуляторах мощные скриптовые языки вроде Python или JavaScript?

К сожалению, ни в одном из популярных эмуляторов NES нет возможности использовать эти или другие языки. Я обнаружил только малоизвестный проект Nintaco, который также основан на ядре Fceux, зачем-то переписанном на Java. Тогда я решил добавить возможность написания скриптов на Python для управления эмулятором сам.

Мой результат – это Proof-of-Concept возможности управления эмулятором, он не претендует на скорость или надёжность, но он работает. Я делал его для себя, но так как вопрос о том, как управлять эмулятором с помощью скриптов, встречается достаточно часто, то я выложил исходники на гитхаб.
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 0

Общие принципы работы QEMU-KVM

Время на прочтение 3 мин
Количество просмотров 69K
*nix *Виртуализация *Компьютерное железо
image

Мое текущее понимание:

1) KVM


KVM (Kernel-based Virtual Machine) – гипервизор (VMM – Virtual Machine Manager), работающий в виде модуля на ОС Linux. Гипервизор нужен для того, чтобы запускать некий софт в несуществующей (виртуальной) среде и при этом, скрывать от этого софта реальное физическое железо, на котором этот софт работает. Гипервизор работает в роли «прокладки» между физическим железом (хостом) и виртуальной ОС (гостем).

Поскольку KVM является стандартным модулем ядра Linux, он получает от ядра все положенные ништяки (работа с памятью, планировщик и пр.). А соответственно, в конечном итоге, все эти преимущества достаются и гостям (т.к. гости работают на гипервизоре, которые работает на/в ядре ОС Linux).

KVM очень быстрый, но его самого по себе недостаточно для запуска виртуальной ОС, т.к. для этого нужна эмуляция I/O. Для I/O (процессор, диски, сеть, видео, PCI, USB, серийные порты и т.д.) KVM использует QEMU.
Читать дальше →
Всего голосов 32: ↑31 и ↓1 +30
Комментарии 8

NVIDIA BlueField 2: Эмуляция NVMe

Время на прочтение 8 мин
Количество просмотров 11K
Блог компании Selectel IT-инфраструктура *Сетевые технологии *Компьютерное железо Сетевое оборудование
Источник изображения: NVIDIA
Крупнейшие облачные провайдеры подключают виртуальные накопители к выделенным физическим серверам. Но если заглянуть в ОС сервера, то там будет физический диск с именем провайдера в поле «производитель». Сегодня мы разберем, как это возможно.
Читать дальше →
Всего голосов 61: ↑60 и ↓1 +59
Комментарии 50

Я нашел 18K+ игр в NVIDIA GeForce NOW

Время на прочтение 4 мин
Количество просмотров 87K
Информационная безопасность *Ненормальное программирование *Копирайт Игры и игровые консоли
✏️ Технотекст 2021

Я, как и многие пользователи NVIDIA GeForce NOW, жду пока там добавят те игры, в которые действительно хотелось бы поиграть. Но бывало и наоборот, игры которые уже были добавлены, позже внезапно удаляли из GFN сервиса. В моем случае я хотел там пройти игры Mafia, и потом их все убрали.

Спустя время, их так и не вернули. И я решил попытаться разблокировать запретные игры NVIDIA GeForce NOW сервиса. Но нашел там то, что никак не ожидал увидеть.

Читать далее
Всего голосов 202: ↑198 и ↓4 +194
Комментарии 72

Реализации машины в qemu

Время на прочтение 5 мин
Количество просмотров 5.1K
Информационная безопасность *Системное программирование *
Из песочницы
✏️ Технотекст 2021

В процессе обратной разработки прошивок иногда возникает задача по ее эмуляции, например, для фаззинг тестирования или детального изучения поведения в динамике. На практике обычно для этого хватает фреймворков avatar2, unicorn, qiling и подобных. Однако они поддерживают далеко не все платформы и имеют ряд ограничений для решения таких задач. При разработке эмулятора PLC я столкнулся с тем, что ни один фреймворк для эмуляции не поддерживал требуемую платформу.

Частично эти ограничения снимает разработка эмулятора на базе qemu, однако статей по этой тематике в сети достаточно мало, а официальная документация не содержит примеров реализации простых девайсов. В этой статье я хотел бы восполнить этот недостаток и поделиться своим небольшим опытом по реализации машины в qemu, чтобы сэкономить время начинающих разработчиков и исследователей безопасности, сталкивающихся с похожей задачей.

Читать далее
Всего голосов 34: ↑34 и ↓0 +34
Комментарии 0
1