Войти
Life Engine

Мой эмулятор NES:: что-то уже получается : )

Автор:

Итак, прошло 18 дней с момента, когда я решил написать свой первый эмулятор :3

Так как он первый у меня - решил начать с наиболее простого, но интересного устройства ) И выбрал DENDY (NES).

Сначала это был ацкий дремучий лес! Что как работает - непонятно! С чего начать - непонятно! Вообще ничего непонятно >_<  ААА!

Но, как говорится, глаза боятся, а руки делают ) Сел и просто начал писать. Что непонятно - не пишу. Потихоньку читаю доки, начинаю вкуривать всяческие аспекты работы железа и дописывать их : )

Через 6 дней разработки у меня игра SuperMarioBrothers перешла в играбельное состояние! Т.е. было корректное изображение, управление. О звуке тогда было страшно подумать :D


Дальше приходило всё больше понимания и ранее непонятные вещи становились очевидными )  Так потихоньку я дошёл до сегодняшнего дня - у меня в эмуляторе появился звук ^_________________^

Звук жестоко выпилил мозг..  не совсем было понятно значение слов Envelope, decay, sweep,  и т.п. в контексте  APU.  Что они делают? АА!  В доках всё сложно описано : \  Но таки "врагу не сдаётся наш гордый Варяг"(с), поэтому заготовив 2 литра пепси и 2 кружки годного залёного чая решил раскурить основалтельно, что и получилось )

На данный момент эмулируются все 5 каналов APU (2 из них Square):  Square, Noise, Triangle, DMC.  Есть в них некоторые баги, однако это же только начало : )

Для вывода звука использую OpenAL и 3 буфера внутри по 735 семплов каждый.


К сожалению у меня не 10 рук и я не успел ещё прикрутить различные мапперы (микросхемы на картриджах, переключающие банки памяти), поэтому "крутые" игры просто не запустятся!  Зато игры с 0 маппером поидее должны работать (большинство).

Скачать:  http://l-proger.narod.ru/LifeNes_0_3f.rar

Скрины (дада, маленькие )

#Dendy, #nes, #разрыв шаблона, #эмуляция

3 октября 2011

Комментарии [65]