| Эмуляция > Эмуляторы консолей 1-4 поколений |
| Делаю кроссплатформенный эмулятор Atari 2600 |
| << < (2/2) |
| Skay:
--- Цитата: EgorInventor от 04 Ноября 2022, 21:55:22 ---P. S. А ещё я забыл делать комиты, поэтому изменения в 700 строк висят все в одном комите. --- Конец цитаты --- только так и учатся пользоваться гитом)) просто читать про то как надо - мало. --- Цитата: EgorInventor от 04 Ноября 2022, 22:56:03 ---И не ожидал, что эта тема окажется так интересна. --- Конец цитаты --- Там много еще интересного) JIT, сначала однородный, потом с промежуточным представлением и т.д. Оптимизации наборов инструкций под целевую платформу) |
| erobson:
Skay, Если я ничего не путаю, то jit нужен только для оптимизации языков с байт-кодом, каковым родной СИ не является. А по поводу гита - да, наболевшая тема. Я с ним давно, но постоянно про него забываю. |
| Skay:
EgorInventor, в эмуляции это тоже применимо. Очень грубо говоря и косноязычно: Ты независимо от потока в котором исполняешь, читаешь инструкции, перемалываешь их (в т.ч. с оптимизациями) и выстраиваешь очередь с инструкциями понятными для твоей платформы. И вот эту очередь команд, уже выполняешь. |
| erobson:
Таак, читал статьи по эмуляции, но про использование JIT не слышал. Спасибо за наводку, посмотрю, нужна ли реализация |
| Skay:
EgorInventor, jit это если только в следующую итерацию, для начала надо это заставить работать. https://bheisler.github.io/post/experiments-in-nes-jit-compilation/ |
| erobson:
Я вернулся. Последние комиты - таблица переходов, исправление багов, палитру по прежнему не переделал, да и не особо надо пока. |
| erobson:
Наконец придумал способ реализовать tia, и скоро приступлю! Идея заключается в том, чтобы при записи по соответствующим адресам в некий стек складывать указатели на обработчики того или иного события, затем в цикле тиа обрабатывать это самое событие. Если при портировании будет замечена потеря в производительности, можно будет сделать систему приоритетов. |
| erobson:
Начал работать с ассемблером Mips, чтобы сразу начать переносить на нужную платформу. Пока ничего нового по функционалу нет, кроме исправления багов с счётчиком кадров. |
| erobson:
Offtop: Решил использовать Psn00bSDK, т. к. он поразительно удобный и быстрый. P.S. А ещё все эмуляторы, кроме no$psx - бяка. |
| erobson:
Делаю собственную графическую библиотеку специально под windows, так как слишком много лишнего winapi-кода просачивается в логику эмулятора. От использования SDL окончательно отказался, он слишком медленный. Пишу в свободное время, а его катастрофически не хватает :cry: |
| s1nka:
--- Цитата: erobson от 23 Апреля 2023, 14:28:58 ---От использования SDL окончательно отказался, он слишком медленный --- Конец цитаты --- Почему он медленный? --- Цитата: erobson от 23 Апреля 2023, 14:28:58 ---собственную графическую библиотеку специально под windows --- Конец цитаты --- На чем? Зачем изобретать велосипед? |
| erobson:
--- Цитата: s1nka link=thttps://www.emu-land.net/forum/index.php?action=post;topic=87388.30;last_msg=1561356#opic=87388.msg1561356#msg1561356 date=1682354547 ---На чем? Зачем изобретать велосипед? --- Конец цитаты --- C + gdi. Хочу сделать минимальный функционал, просто создание в памяти картинки-фреймбуфера и вывода её на экран. Просто чтобы инкапсулировать это от эмулятора. SDL работает медленно, если рисовать напрямую, а разбираться с ним более глубоко мне лень, на winapi быстрее сделаю. |
| Vlad666:
Так что с эмулятором? Доделали или нет? |
| Навигация |
| Главная страница сообщений |
| Предыдущая страница |