Разработка и ромхакинг > Ромхакинг и программирование
Написать эмулятор NES самому
(1/4) > >>
ilua_great:
Хочу летом, на досуге, написать эмулятор Nes на Java.
Но как?  :-\
Java немного знаю и постоянно совершенствуюсь в этом направлении, а вот как писать эмулятор, не представляю.
Какую литературу почитать? Может кто какие документы по теме подкинет. Буду крайне признателен.  :D
 
gepar:
Ну можешь посмотреть исходники другого nes эмулятора, этого например.
HoRRoR:
http://dendy.migera.ru/
ilua_great:
gepar, спасибо.
HoRRoR, спасибо, то, что нужно.
Всем добра  :hi:
CrazyMax:
Охренеть. Во народ пошел...

--- Цитата: ilua_great от 10 Май 2011, 19:23:13 ---Java немного знаю...
--- Конец цитаты ---
и сразу же эмулятор писать.  o_0
gepar:
CrazyMax,ну так всегда же хочется сразу что-то интересное написать, все эти элементарные программы вроде калькулятора это же не так интересно  :)
CrazyMax:
Эмуляция калькулятора - это самое сложное, пусть сначала эмуль NESа напишет  ;)
SPOT:
Написание программ-эмуляторов
gepar:
HoRRoR,при участии новичков - да, обычно все. На хабре кстати была статья о написание эмулятора старенькой атари, это так чтобы в общем представить что же именно надо делать, можешь поискать, эмулятор Atari 2600 если не ошибаюсь автор там писал.
Tron2:
Если делать эмуль то такой который превосходит уже существующие.
CrazyMax:

--- Цитата: Neutron-239 от 11 Май 2011, 18:33:23 ---Если делать эмуль то такой который превосходит уже существующие.

--- Конец цитаты ---
Поэтому я и подчеркнул "...Java немного...", а то что знать как работают процессоры (все равно какие), их регистры, флаги и т.д., как работает шина, память (как мапится, как идет обращение...)... как использовать битовые/логические операции (без них тут вообще никак) так это все не надо?
А так получается, выучил "немножко" язык программирования, вывел на экран пару строчек (окон) и вперед эмулятор писать.
ilua_great:
CrazyMax, год на C/C++, несколько лет на Pascal, Около полугода на Java...  <_<
CrazyMax:

--- Цитата: ilua_great от 11 Май 2011, 19:24:37 ---CrazyMax, год на C/C++, несколько лет на Pascal, Около полугода на Java...  <_<


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

P.S. ilua_great, я не пытаюсь разубедить, просто изучать языки программирования с написания эмулятора - это полный бред (поверь мне, я начал программировать в 1989 году, правда тогда о эмуляторах ничего не знали :) ) .
ilua_great:
Документы я получил. Буду разбираться.
Откуда такая уверенность в провале?
Maelstrom:
ilua_great,
Эмулятор на квантовый наладонник пишешь?
ilua_great:
Именно!
Люди пишут эмуляторы на Java, чем я хуже?
Потом на наладонник перенесу.
Буду на парах в танчики гонять на эмуляторе собственного производства же.  :cool:
HoRRoR:
Какие все умные, лол. Правда в компетентности умников сомневаюсь.
Может человек для саморазвития взялся писать, какая вам нахрен разница?


--- Цитата: CrazyMax от 11 Май 2011, 19:31:01 ---Для того, чтобы писать эмулятор одни доки не помогут по конкретной платформе, нужно представлять как работают все устройства изнутри и неважно какая платформа.
--- Конец цитаты ---
Что ты этим хочешь сказать? Что надо знать как работает микроволновка, чтобы разогреть в ней еду? Реализации могут быть разными, интерфейсы, протоколы и прочее стандартизированы. И зачем знать подробности конкретной реализации для воспроизведения программного кода? Достаточно иметь спецификацию, в которой описаны стандарты. А уж как это будет работать - решать тебе, исходя из обстановки.
CrazyMax:
Не путай разные вещи - пользоваться чем-либо и эмулировать ее работу.

О компетентности "умников" я промолчу.
gepar:

--- Цитата: CrazyMax ---(поверь мне, я начал программировать в 1989 году, правда тогда о эмуляторах ничего не знали  ) .
--- Конец цитаты ---
Да ладно? Мне почему-то кажется что первые атари додумались эмулировать в те времена  :)
HoRRoR:

--- Цитата: CrazyMax от 11 Май 2011, 20:08:33 ---Не путай разные вещи - пользоваться чем-либо и эмулировать ее работу.

--- Конец цитаты ---
Ну, скажем так, в данном случае надо эмулировать нагревание пищи в замкнутом пространстве электромагнитными волнами определённой частоты, а не генерацию оных и прочее. Нам дан интерфейс - генератор электромагнитных волн, как он был реализован в каждом конкретном случае - нас не колышит.
Если передо мной, например, стоит цель эмулировать выполнение программного кода, зачем мне знать, как это делает процессор? Мне достаточно знать информацию о каждой эмулируемой инструкции, эмуляция процессора будет крайне абстрактна, чем-то даже можно пренебречь. А вся необходимая информация о железе прекрасно описана в документации.
Речь идёт об эмуляторе платформы (принципов работы железа), а не об эмуляторе конкретного железа со всеми его особенностями. Другой вопрос - насколько надо абстрагироваться, ибо не всегда спецификации достаточно, не всё бывает описано и часто встречаются подводные камни, особенно в сложных системах.
Навигация
Главная страница сообщений
Следующая страница

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