Форум Эму-Россия
http://forum.emu-russia.net/

Очень низкоуровневый эмулятор 6502 / NES
http://forum.emu-russia.net/viewtopic.php?f=13&t=3938
Страница 21 из 21

Автор:  org [ 30 мар 2022, 22:46 ]
Заголовок сообщения:  Re: Очень низкоуровневый эмулятор 6502 / NES

Вся кодовая база с наработками уехала в собственный репозиторий: https://github.com/emu-russia/breaknes

Считайте это анонсом начала разработки эмулятора Breaknes :rolleyes:

Внутренняя архитектура уже устаканилась (UI на WinForms, ядро как нативная DLL).

Вся схематика перегоняется в сишечку. То есть эмулировать пока нельзя, но зато уже можно полюбоваться на логотип, сгенерированный нейросетью Adobe (во вложении).

В июне этой теме будет 10 лет, поэтому хотелось бы постараться всё успеть. Ну если не успеем, то уже тогда на 20-летие :D

Вложения:
157481692-2ecd4e71-2599-4050-9ce0-815c0336ad27.png
157481692-2ecd4e71-2599-4050-9ce0-815c0336ad27.png [ 50.6 КБ | Просмотров: 3571 ]

Автор:  Слэйер Мун [ 02 апр 2022, 20:29 ]
Заголовок сообщения:  Re: Очень низкоуровневый эмулятор 6502 / NES

Кросавчеги!

Автор:  org [ 06 май 2022, 02:00 ]
Заголовок сообщения:  Re: Очень низкоуровневый эмулятор 6502 / NES

Завершено исследование отличий PAL PPU:

https://github.com/emu-russia/breaks/bl ... PPU/pal.md

Также в финальных стадиях разработка приблуды, под названием PPU Player, которая умеет из дампа записей в регистры PPU выводить картинку/видеосигнал.

https://github.com/emu-russia/breaknes/ ... /PPUPlayer

Иными словами, оно позволяет отладить симуляцию PPU "в сферическом вакууме". После того как всё устаканится - кусок с симулятором PPU уедет в основную часть нашего эмулятора.

Пока результаты скудноваты - например Bomberman вместо логотипа показывает едва различимый мусор, но слово "BOMBERMAN" таки прослеживается!

-- 06 май 2022, 01:04 --

А ну да, забыл ещё.. Сам симулятор PPU тоже готов на 99%. Кому интересно поковыряться в его исходниках на C++, велкам.

https://github.com/emu-russia/breaknes/ ... PPU/PPUSim

Вложения:
166121721-6106ad21-2f05-419f-8f65-123562bd.png
166121721-6106ad21-2f05-419f-8f65-123562bd.png [ 40.7 КБ | Просмотров: 3398 ]
PPU_Player_Diag.png
PPU_Player_Diag.png [ 343.18 КБ | Просмотров: 3398 ]
166121633-3e5c8b51-cd5e-4b62-b19b-589a83698335.png
166121633-3e5c8b51-cd5e-4b62-b19b-589a83698335.png [ 162.15 КБ | Просмотров: 3398 ]

Автор:  org [ 10 май 2022, 17:31 ]
Заголовок сообщения:  Re: Очень низкоуровневый эмулятор 6502 / NES

Наш симулятор PPU обрастает жирком.

Ошибки с выводом бэкграунда исправлены и теперь кое-что можно разглядеть.

Всё ещё есть ошибки рендеринга, цветности и много чего ещё. Спрайты тоже пока почему-то не работают.

Вложения:
167630956-9405e68d-82fc-45db-88ea-506523dc964b.png
167630956-9405e68d-82fc-45db-88ea-506523dc964b.png [ 74.53 КБ | Просмотров: 3345 ]
167630868-ab70493f-4f03-4c5a-8b3f-378d6ee24de2.png
167630868-ab70493f-4f03-4c5a-8b3f-378d6ee24de2.png [ 246.18 КБ | Просмотров: 3345 ]

Автор:  org [ 17 май 2022, 23:41 ]
Заголовок сообщения:  Re: Очень низкоуровневый эмулятор 6502 / NES

Исправлены спрайты.

Вложения:
mariwa2.png
mariwa2.png [ 234.7 КБ | Просмотров: 3279 ]
mariwa.png
mariwa.png [ 343.01 КБ | Просмотров: 3279 ]

Автор:  org [ 29 май 2022, 21:11 ]
Заголовок сообщения:  Re: Очень низкоуровневый эмулятор 6502 / NES

Додолбали PPU!

Осталось там по мелочи подправить, косметические работы сделать, добить мелкие таски и приступать к последней микрухе - APU.

Вложения:
mariwa_good.png
mariwa_good.png [ 47.7 КБ | Просмотров: 3189 ]

Автор:  org [ 14 июн 2022, 17:27 ]
Заголовок сообщения:  Re: Очень низкоуровневый эмулятор 6502 / NES

Итог всех наших исследований и разработок по PPU:

https://github.com/emu-russia/breaks/re ... elease-rus

На очереди APU.

Автор:  org [ 02 янв 2023, 13:14 ]
Заголовок сообщения:  Re: Очень низкоуровневый эмулятор 6502 / NES

Завершено исследование всех микросхем NES / Famicom.

https://github.com/emu-russia/breaks

Вся информация на вики.

Автор:  org [ 13 мар 2023, 00:50 ]
Заголовок сообщения:  Re: Очень низкоуровневый эмулятор 6502 / NES

Эмулятор готов:

https://github.com/emu-russia/breaknes/ ... reaknes-14

https://github.com/emu-russia/breaknes/ ... reaknes-15

Тему можно закрывать, так как все цели можно сказать выполнены. Всё дальнейшее уже просто поступательный процесс фикса багов и оптимизации. Всем спасибо! :)

Вложения:
224507821-de6f0e93-4452-4724-a9d4-892b65b9942d.png
224507821-de6f0e93-4452-4724-a9d4-892b65b9942d.png [ 307.05 КБ | Просмотров: 1703 ]

Автор:  Слэйер Мун [ 28 мар 2023, 22:40 ]
Заголовок сообщения:  Re: Очень низкоуровневый эмулятор 6502 / NES

Офигеть, красавцы!

Автор:  ignat99 [ 12 мар 2024, 17:52 ]
Заголовок сообщения:  Re: Очень низкоуровневый эмулятор 6502 / NES

org писал(а):
Эмулятор готов:

https://github.com/emu-russia/breaknes/ ... reaknes-14

https://github.com/emu-russia/breaknes/ ... reaknes-15

Тему можно закрывать, так как все цели можно сказать выполнены. Всё дальнейшее уже просто поступательный процесс фикса багов и оптимизации. Всем спасибо! :)
Слэйер Мун писал(а):
Офигеть, красавцы!


Присоединяюсь к поздравлениям других ораторов. Это действительно была мечта всех причастных, кому книга "Учись, учится!" Параджанова (автора визуального языка DRAKON - Копии системы Графит-Флокс консоли настоящего спускаемого космического челнока "Буран") попала в момент начала перестройки в руки (1985). И она сбылась 12 марта 2023 года. Сегодня годовщина этого великого события. Ура, товарищи!!!


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

Для настоящих параноиков собрал папочку с уликами. А не через такие ли игрушки вербовали жен будущих политиков?

К слову элитой были не совсем те кто моторные навыки управления посадкой на станцию натринировал и выучил шорт-коды и послал открытку в офис в ожидании значка причастности.

А те кто сумел эту игрушку взломать средствами встроеной в BBC Micro операционной системы Akorn. IMHO

P.S. Raxxla в исходниках есть

И еще есть такой вот интересный байт .XX14

Вот он единственный не для чего не используется, а читается он как RRLA

RLA - Недокументированная команда
ROL M, A and M -> A

Циклический сдвиг влево по значению из памяти. В итоге все попадает в общий регистр. Встроенный код для ввода команд с экрана монитора тоже есть. Для этого нужна специальная клавиша Копи на клавиатуре. Обычная клавиша для однострочных редакторов. То есть ввод можно было сделать четрымя стрелками и кнопочкой копи которая как раз была между ними. Для этого нужно было двигаться по многочисленным табличкам и выбирать подходящие слова. Для правильной их расшифровки внутри Элиты в самом начале исходника исполняемый граф подстановки символов.

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

Страница 21 из 21 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/