Они казались плавающими, пока не были теоретически обоснованы. А как обосновались, стали неплавающими)
Вид для печати
Присоединяюсь в этом к Vamos, сейчас развертывание окна и центровка УК-НЦ экрана
сделана хорошо, поскольку часто нужно иметь доступ к кнопкам дискет и меню, а вот
галочка (режим) фулскрин (полноэкран) ИМХО: должен делать размер экрана УК-НЦ,
а не окна эмулятора (которое и без галочки теперь можно развернуть) =
desktop.height
desktop.width
Как в допилиной версии БК-эмулятора там же получилось,
(осторожно !)
Скрытый текст
значит и с
УК-НЦ получится - например по нажатию стандартного alt+enter ?
В любом случае - благодарность за центрование экрана внутри окна,
так намного удобнее )))
---------- Post added at 20:59 ---------- Previous post was at 20:54 ----------
До конца не проходил.
По поводу оружия я не брал его после того как классные шевелящиеся снарядики,
покрывающие площадь перед кораблём шириной с сам корабль не начинают лететь
автоматически. Все дальнейшие виды всяких там гипотенуз (смайл) только усложняют
прохождение ) По счёту это или 4 или 5 fier потом их не надо просто собирать. Как-то так.
---------- Post added at 21:02 ---------- Previous post was at 20:59 ----------
По полноэкрану просто добавлю - в таком режиме мой бук (с включенными звуковыми
фишками в эмуляторе) реально превращается в любимый мною БК! ) Как-бы ) Эффект присутствия однако.
Общая идея "формулы быстродействия" проста - время выполнения команды складывается из "алгоритмической" задержки и суммарной задержки всех обращений к памяти.
Если сравнить продолжительности выполнения одинаковых команд с различной косвенностью адресации, то хорошо заметно, что при добавлении к команде очередного цикла чтения памяти - продолжительность выполнения возрастает в точности на величину выполнения одного цикла доступа к памяти.
Это позволяет не запоминать отдельно продолжительность выполнения каждой команды при каждом типе адресации каждого операнда, а зная алгоритмическую задержку - добавлять к ней сумму задержек выполняемых обращений к шине.
Это может оказаться не совсем точно.
Точная эмуляция - это эмуляция, при которой каждая команда делится на элементы работы с шиной. Т.е. команда эмулируется не целиком, а дробится на микрокоманды.
---------- Post added at 21:17 ---------- Previous post was at 21:16 ----------
В EmuStudio, кстати, так и сделано)
Ну, если то, то я согласен)
---------- Post added at 22:50 ---------- Previous post was at 22:47 ----------
Да, т.к. писано по первому тому родного технического описания. Правда, возможно, не совсем верно, т.к. многой информации тогда еще не было. Тайминги работы блоков тоже сделаны не совсем такие, как должны быть, т.к. такой информации не было. Сейчас тоже нет содержимого ПЗУ микрокоманд процессора. Феликс хоть и сфоткал и что-то начал разбирать, но все это заглохло. Кроме того, у меня не учитываются здадержки памяти.
nzeemin, правый нижний уголок экрана УК-НЦ в режиме ^полноэкран для окна
и <interlaced upscaled> для экрана УК-НЦ :
http://savepic.ru/4043408.png
Может быть только на моей матрице так? Это не страшно, просто не ясно почему так,
раньше не замечал )
Несколько раздосадованный тем, что пользователям не понравился фулскрин, я сел писать новую архитектуру рендеров.
Суть в том что отрисовщик экрана (рендер) будет вынесен из основного приложения в DLL, причём DLL можно менять, используя разные механизмы формирования изображения. Кроме того, основное приложение не ссылается на зависимые библиотеки, ссылки на нужные .lib стоят только в проектах отдельных DLL.
RenderVfw.dll использует "Video for Windows" -- тот же механизм что сейчас реализован в эмуляторе; ориентирован на вывод 1:1 и кратное масштабирование -- например, в 2 раза или 2 x 1.5.
RenderDX9.dll (DirectX 9) и RenderOpenGL.dll -- ориентированы на произвольное масштабирование, в т.ч. в режиме Fullscreen.
В аттаче действующий макет с тремя рендерами, пока с единственным режимом в каждом из них. RenderTester позволяет подцепить один из рендеров и выводит статичное изображение, плюс есть команда для измерения предельного FPS.
RenderDX9 и RenderOpenGL дают 60 FPS -- думаю это привязано к частоте обновления монитора; зато они дают такой FPS даже на FullHD разрешении.
Пока конечно всё это написано неидеально -- по сути под DX и OpenGL я пишу впервые.
У меня нормально рендерит только OpenGL, только верхняя рамка окна остается и системный трей.
DirectX 9 - это вообще не запустилось, каккие-то ошибки выдает.
Video for Windows - не рендерит т.е. картинка во всех режимах 1:1