Разработка и ромхакинг > Ромхакинг и программирование
Написать эмулятор NES самому
<< < (4/4)
teremochek:

--- Цитата: Smoke от 11 Ноябрь 2013, 23:25:16 ---
Ага, "Написание эмулятора денди для чайников", лол :lol:

--- Конец цитаты ---

Конечно, речь не идет о написании полноценного эмулятора, который запускает все игры.
Самый простой вариант, с запуском 1- 2 игры. Наверняка найдутся русские люди, которые сумеют показать и    доходчиво объяснить, как работают все детали..
Удивительно, что еще не написали такую книгу. Видимо для издателей важней художественная литература про зомбей  :lol:
evgeny:
Технические документы по NES есть. Для тех, то способен написать эмулятор этого достаточно.
Guyver(X.B.M.):
Ещё есть куча сырцов в нете. Я в своё время доделывал один эмулятор, выбирал самый простой, где кода поменьше было ;о))) Особенность его была в том, что он был заточен под midi воспроизведение звуков и музыки из рома... Но автор его так и не доделал. Мне удалось его допилить, даже при том, что я не программер, да и в архитектуре НЕС не шарю вообще. Так что если захотеть - можно всё понять и сделать... Зачем писать с нуля, когда уже всё написано? Бери, разбирайся да правь...
igoru:
Guyver(X.B.M.), а билд остался какой-нибудь? Может скинешь поглядеть?
Smoke:
На самом деле ответ почему такой книги нет прост. Знающим людям тупо либо в падлу это делать, либо нет времени.
s1nka:
На эту тему тут есть  одна хорошая фраза:

--- Цитата ---Before considering developing your own NES emulator, ask yourself if your efforts may be better spent helping out those who already have emulators in development!
--- Конец цитаты ---
При этом развернуться есть куда.
Mr2:

--- Цитата: teremochek от 12 Ноябрь 2013, 11:58:32 ---Удивительно, что еще не написали такую книгу.

--- Конец цитаты ---
В книге был бы смысл, если бы не было готовых эмуляторов.
Эмулятор повторяет работу консоли. Изучаешь как консоль обрабатывает данные из картриджа, и програмно повторяешь её действия.
Всё гениальное просто. :lol:
teremochek:

--- Цитата: evgeny от 12 Ноябрь 2013, 12:10:15 ---Технические документы по NES есть. Для тех, то способен написать эмулятор этого достаточно.

--- Конец цитаты ---
Написать способны все, кто умеет писать.
Другое дело, что хочется еще и понять.
Надо-же опыт получить..


--- Цитата: s1nka от 12 Ноябрь 2013, 16:01:22 ---На эту тему тут есть  одна хорошая фраза:При этом развернуться есть куда.

--- Конец цитаты ---
Респект!


--- Цитата: Smoke от 12 Ноябрь 2013, 15:44:10 ---На самом деле ответ почему такой книги нет прост. Знающим людям тупо либо в падлу это делать, либо нет времени.

--- Конец цитаты ---
Да. И еще все-таки, такую книгу не просто написать (Если брать разбор НЕС целиком, со всеми мелочами).
И чего ради..
Кроме того, действительно, исходников полно.


--- Цитата: Guyver(X.B.M.) от 12 Ноябрь 2013, 14:12:03 ---Ещё есть куча сырцов в нете. Я в своё время доделывал один эмулятор, выбирал самый простой, где кода поменьше было ;о))) Особенность его была в том, что он был заточен под midi воспроизведение звуков и музыки из рома... Но автор его так и не доделал. Мне удалось его допилить, даже при том, что я не программер, да и в архитектуре НЕС не шарю вообще. Так что если захотеть - можно всё понять и сделать... Зачем писать с нуля, когда уже всё написано? Бери, разбирайся да правь...


--- Конец цитаты ---
Главной задачей для меня разобраться как эмулятор работает. А писать новый эмулятор я не собираюсь  :)
Взял посмотреть исходник. Ничего не понять.. (Да тем более там файлов куча, не знаю какой открывать.. )

--- Цитата: Guyver(X.B.M.) от 12 Ноябрь 2013, 14:12:03 ---..если захотеть - можно всё понять и сделать...

--- Конец цитаты ---
Золотые слова.
s1nka:
teremochek, если интересно просто разобраться как работает эмулятор, то многие советую изучить работу CHIP8. Довольно легко, да и статей на русском куча в интернетах. Если мало, то можно усложниться до CHIP16. Ну, а дальше идти уже более сложными системами.
MobNet:
По поводу сорцев джава сорцев ток один тот что я постил, на скока я знаю,а чтоб понять как работает сама приставка пусть учит программирование под денди.
А вообще эта консоль самая простая ее эмулятор есть даже на JavaScript
teremochek:
Пытался разобраться, в эмуляции CPU(NES).
Порядок действий:

1)  *Читаем из рома 1 байт.  (код операции)                                                       
2)  *Исходя из кода получаем :  команду,  способ адресации,  длину,  время.   
3)  Читаем еще  0 - 2 байт, исходя из длинны.  ( Получаем базовый Адрес)       
4)  Преобразуем Адрес, полученным способом адресации.                                 
5)  Читаем память по преобразованному адресу.                                                 
6)  *Выполняем команду  (со значением полученным из адреса)                       
7)  Сохраняем получившееся значение в преобразованный Адрес.                     
8)  *Прибавляем счетчик времени.                                                                       

Счетчик команд увеличивается при чтении байта из рома, и изменяется при выполнении некоторых команд.
teremochek:

--- Цитата: HoRRoR от 10 Май 2011, 19:27:26 ---http://dendy.migera.ru/


--- Конец цитаты ---
Спасибо, информативный сайт.
(Ранее не заметил эго)


Раз уж заглянул -> Какой минимум нужен для эмуляции игры с изображением?
(Как я понимаю, без кода графического процессора игра не сможет эмулироватся)
Сможет-ли работать игра без звукового сопроцессора?

1.Первое что нужно загрузить РОМ в память. (Загрузчик)
2.Основной процессор (6502) - обязательно нужен!, выполняет код.
3.Память. В некоторых эмуляторах это отдельный класс. Его задача обмен данных процессора с остальными устройствами, которые отражаются в его адресном пространстве.
4.Графический процессор. Выводит изображение на экран.
Навигация
Главная страница сообщений
Предыдущая страница

Перейти к полной версии