Автор Тема: Написать эмулятор NES самому  (Прочитано 25426 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн teremochek

  • Пользователь
  • Сообщений: 92
    • Просмотр профиля
Re: Написать эмулятор NES самому
« Ответ #60 : 12 Ноябрь 2013, 11:58:32 »

Ага, "Написание эмулятора денди для чайников", лол :lol:

Конечно, речь не идет о написании полноценного эмулятора, который запускает все игры.
Самый простой вариант, с запуском 1- 2 игры. Наверняка найдутся русские люди, которые сумеют показать и    доходчиво объяснить, как работают все детали..
Удивительно, что еще не написали такую книгу. Видимо для издателей важней художественная литература про зомбей  :lol:

Оффлайн evgeny

  • Пользователь
  • Сообщений: 1390
  • Пол: Мужской
    • Просмотр профиля
Re: Написать эмулятор NES самому
« Ответ #61 : 12 Ноябрь 2013, 12:10:15 »
Технические документы по NES есть. Для тех, то способен написать эмулятор этого достаточно.

Оффлайн Guyver(X.B.M.)

  • Пользователь
  • Сообщений: 2349
  • Пол: Мужской
  • Уничтожим Кронос!
    • Facebook
    • Twitter
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: Написать эмулятор NES самому
« Ответ #62 : 12 Ноябрь 2013, 14:12:03 »
Ещё есть куча сырцов в нете. Я в своё время доделывал один эмулятор, выбирал самый простой, где кода поменьше было ;о))) Особенность его была в том, что он был заточен под midi воспроизведение звуков и музыки из рома... Но автор его так и не доделал. Мне удалось его допилить, даже при том, что я не программер, да и в архитектуре НЕС не шарю вообще. Так что если захотеть - можно всё понять и сделать... Зачем писать с нуля, когда уже всё написано? Бери, разбирайся да правь...

Оффлайн igoru

  • Пользователь
  • Сообщений: 9
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: Написать эмулятор NES самому
« Ответ #63 : 12 Ноябрь 2013, 14:29:51 »
Guyver(X.B.M.), а билд остался какой-нибудь? Может скинешь поглядеть?

Оффлайн Smoke

  • Пользователь
  • Сообщений: 3430
  • Пол: Мужской
  • Get Serious!
    • Steam
    • Просмотр профиля
Re: Написать эмулятор NES самому
« Ответ #64 : 12 Ноябрь 2013, 15:44:10 »
На самом деле ответ почему такой книги нет прост. Знающим людям тупо либо в падлу это делать, либо нет времени.

Оффлайн s1nka

  • Пользователь
  • Сообщений: 1569
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: Написать эмулятор NES самому
« Ответ #65 : 12 Ноябрь 2013, 16:01:22 »
На эту тему тут есть  одна хорошая фраза:
Цитата
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

  • Пользователь
  • Сообщений: 1591
  • Пол: Мужской
  • Free roaming sorcerer
    • Facebook
    • Просмотр профиля
Re: Написать эмулятор NES самому
« Ответ #66 : 12 Ноябрь 2013, 16:35:59 »
Удивительно, что еще не написали такую книгу.
В книге был бы смысл, если бы не было готовых эмуляторов.
Эмулятор повторяет работу консоли. Изучаешь как консоль обрабатывает данные из картриджа, и програмно повторяешь её действия.
Всё гениальное просто. :lol:

Оффлайн teremochek

  • Пользователь
  • Сообщений: 92
    • Просмотр профиля
Re: Написать эмулятор NES самому
« Ответ #67 : 12 Ноябрь 2013, 17:12:33 »
Технические документы по NES есть. Для тех, то способен написать эмулятор этого достаточно.
Написать способны все, кто умеет писать.
Другое дело, что хочется еще и понять.
Надо-же опыт получить..

На эту тему тут есть  одна хорошая фраза:При этом развернуться есть куда.
Респект!

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

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

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

Оффлайн s1nka

  • Пользователь
  • Сообщений: 1569
  • Пол: Мужской
    • Steam
    • Просмотр профиля
Re: Написать эмулятор NES самому
« Ответ #68 : 12 Ноябрь 2013, 20:19:28 »
teremochek, если интересно просто разобраться как работает эмулятор, то многие советую изучить работу CHIP8. Довольно легко, да и статей на русском куча в интернетах. Если мало, то можно усложниться до CHIP16. Ну, а дальше идти уже более сложными системами.

Оффлайн MobNet

  • Пользователь
  • Сообщений: 174
  • Пол: Мужской
  • Акк заброшен
    • Просмотр профиля
Re: Написать эмулятор NES самому
« Ответ #69 : 10 Декабрь 2013, 18:21:44 »
По поводу сорцев джава сорцев ток один тот что я постил, на скока я знаю,а чтоб понять как работает сама приставка пусть учит программирование под денди.
А вообще эта консоль самая простая ее эмулятор есть даже на JavaScript

Оффлайн teremochek

  • Пользователь
  • Сообщений: 92
    • Просмотр профиля
Re: Написать эмулятор NES самому
« Ответ #70 : 12 Декабрь 2013, 20:47:29 »
Пытался разобраться, в эмуляции CPU(NES).
Порядок действий:

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

Счетчик команд увеличивается при чтении байта из рома, и изменяется при выполнении некоторых команд.
« Последнее редактирование: 14 Декабрь 2013, 18:53:22 от teremochek »

Оффлайн teremochek

  • Пользователь
  • Сообщений: 92
    • Просмотр профиля
Написать эмулятор NES самому
« Ответ #71 : 06 Февраль 2016, 21:51:25 »
http://dendy.migera.ru/

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


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

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