- 1
Эмуляторы
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−5
Эмуляторы
Объясните пожалуйста, почему пишут эмуляторы всяких там GBA, но нет ни одного транслятора в самодостаточную программу? И почему все заботься о том, что бы эмулятор работал с такой же скоростью, как и настоящий процессор?
overscan или как-тотак
И это правильно, ведь про конечную платформу известно абсолютно всё до последней железочки, + гейдев + проприетарщина. Все поводы хачить максимально грязно и при этом не заботиться о поддержке кода и уж тем более о будущих создателях эмуляторов через 30 лет.
А что транслировать, скомпилированный код?
А как этот код будет рисовать на экране игру?
А как этот код будеть играть звуки?
А как этот код будет получать от пользователя инпут в виде нажатий на клавиши?
А с какой скоростью этот код будет выполняться, чтобы правильно воспроизвести поведение игры?
Добавляем прослойки для всего этого, и получаем тот самый эмуль, либо частный -- сросшийся с конкретной игрой, либо универсальный, для любой игры.
# А как этот код будеть играть звуки?
# А как этот код будет получать от пользователя инпут в виде нажатий на клавиши?
# А с какой скоростью этот код будет выполняться, чтобы правильно воспроизвести поведение игры?
А в чём проблема?
>>кинескопный монитор с аналоговым входом)
ты видел gameboy?)
# 2. Программа будет работать в монопольном режиме с прямым доступом к железу (т. е. будет запускаться прямо из BIOS)?
Зачем? Я же предлагаю транслировать, а не запускать родной образ
dm_fomenok, можешь написать программу, которая будет выполнять эти действия?
Ну в тех же плоечных эмуляторах что-то типа JIT. Оно таки транслирует код в нативный, но кусками и в реалтайме.
Эмуляторы же не академики ради науки пилили, людям просто хотелось поиграть в игры с приставок.
И вот это вот API всё равно не будет эмулятором.
Если такой транслятор и возможен, то выдавать он будет лишь примерный аналог, а сам транслятор будет неебически сложной программой, и написать его не под силу даже богу тому кто прочел все тома "Искусства программирования" от корки до корки и выполнил все приведённые там задания.
Переведи на ARM (какой хочешь):
(из исходников FASM под DOS)
PS. В GBA нет всяких там IDT, GDT, LDT. Так что не умничай мне тут. GBA переводить проще
Ты говоришь: "зачем анализ". Блять, на GBA, наверное своей НЁХ полно. Изучи архитектуру, и потом уже решай, можно транслировать или нет.
> GBA переводить проще
У GBA проц ARM7TDMI (этого я не знал, только щас посмотрел). У армов система команд конечно попроще, но как ты можешь говорить, что GBA переводить проще, если не знаешь архитектуры?
есть-ли там разделение на память и IO как у интела?
Всё равно не вижу проблему
У меня одного чувство, что ты издеваешься?
Пиши, пиши транслятор, раз считаешь, что ты один прав, а все остальные нет. Только дай ссылочку на гитхаб, я хочу видеть твои мучения.