1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zhendongdong-SimpleNes

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

SimpleNes

Введение

SimpleNes — это проект виртуального эмулятора игровой приставки Nes (Famicom). В настоящее время проект находится на ранней стадии разработки, и код в нём довольно хаотичен. Проект предназначен для изучения C++, и у автора не было опыта работы с C++ или создания игр до этого. Поэтому в проекте есть много несовершенств, которые необходимо исправить в будущем.

Планируется конкретизировать и упорядочить руководство:joy:

  • SimpleNes является классом окна в VS2019;
  • SimpleNesCore — основной файл проекта SimpleNes, который существует в виде статической библиотеки в проекте VS2019;
  • SimpleNes_Qtdemo — пример использования SimpleNes в среде Qt.

Степень готовности

В настоящее время используется низкоточная синхронизация, но она достаточна для большинства обычных игр. Реализованы несколько типов Mapper, таких как Mapper 0-5, и планируется постепенно расширять их количество.

Процесс переноса

  • Успешно скомпилирован с использованием QT и пример demo уже загружен;
  • Успешный перенос на Android, demo будет загружена позже;
  • Успешный перенос на встраиваемую плату разработки (через QT).

Конечная цель

Конечной целью является создание кроссплатформенного приложения, особенно для переноса на встроенные платформы.

Протестированные игры

  • Супер Марио;
  • Супер Марио 3;
  • Терминатор;
  • MechWarrior 3;
  • Красный замок;
  • Танковая война;
  • Черепашки-ниндзя;
  • По следу;
  • Перезагрузка машины;
  • Бэтмен;
  • Парк Юрского периода;
  • Ближневосточный конфликт;
  • Война сусликов;
  • 1942;
  • Легенда о Зельде;
  • Двойной дракон 1 и 2;
  • Soul Calibur;
  • и другие...

Скриншот программного обеспечения

Снимок экрана Android

Игровой скриншот

Известные проблемы с играми

  • Проблемы с отображением персонажей и нижней панели счёта в игре «Повелитель времени» (исправлено);
  • Шум при загрузке игры.

Как использовать

Измените файл NesMain.cpp, чтобы изменить тестируемую игру. После компиляции выберите файл игры (.nes) через меню «Файл» -> «Открыть ROM». Файлы игр можно найти на Baidu, например, «Супер Марио.nes». W, S, A, D, J, K, U, I соответствуют вверх, вниз, влево, вправо, выбор, подтверждение и A, B.

Для удобства тестирования я предоставляю несколько популярных игровых ROM. Не все из них могут работать! Ссылка: https://pan.baidu.com/s/1ZrlJUlbGcOs4CDalehkXnw Код извлечения: 3qg1

Функция сохранения состояния:

В настоящее время поддерживается только Mapper00. Нажмите клавишу 1, чтобы сохранить состояние, и клавишу 2, чтобы восстановить его. Сохранение происходит в папке, где находится файл ROM, создавая файл с тем же именем, что и файл ROM, но с расширением .save. В настоящее время сохранение доступно только во время игры, и оно не сохраняется локально, так как это всего лишь тестовая версия. Однако, расширение этой функции не представляет сложности. См. класс FileSavebundle в файле SimpleNes/FamicomThread.cpp.

Архитектура программного обеспечения

Рекомендуется компилировать с помощью VS2019. Проект полностью совместим с Android и Qt без изменений или с минимальными изменениями. Поскольку код всё ещё находится в разработке, интерфейсы могут меняться, и Android и qtdemo могут не обновляться вовремя. Если компиляция не удалась, обратитесь к проекту VS2019 в папке SimpleNes.

Самооценка

Учитывая сжатые сроки и обучающий характер проекта, моя оценка проекта такова: он похож на старый дом, который вот-вот рухнет, внутри беспорядок, и непонятно, почему он работает. :v:

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
GPL-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/zhendongdong-SimpleNes.git
git@api.gitlife.ru:oschina-mirror/zhendongdong-SimpleNes.git
oschina-mirror
zhendongdong-SimpleNes
zhendongdong-SimpleNes
master