А Директикс 9 не испортит мне тот директикс, который по умолчанию идет в XP sp3?
Вид для печати
Товарищи, оказывается DirectX 9 еще в сервис паке 2 идет, а у меня даже 3. Так что у меня директ икс 9. Значит глючит не из-за него.
Да, проверил, действительно у меня 9.0c - самая последняя стоит.
---------- Post added at 03:02 ---------- Previous post was at 02:53 ----------
Теперь на счет, какой я устанавливал дотнет.
Вот такой:
NetFx20SP2_x86.exe
NDP20SP2-KB958481-x86.exe
Все, как на сайте микрософта говорилось. Один файл это дотнет, второй какая-то заплатка, как положено.
---------- Post added at 03:22 ---------- Previous post was at 03:02 ----------
А вот что пишет утилита версии дотнета.
http://img13.imageshost.ru/img/2012/...7553c805ce.png
Если во время установки последних DX9 не было .NET 2 то не ставится и Managed DX (приблуда нужнаю для .net? даже и некуда регистрировать, нет инфраструктуры .net 2) дополнение, попробуй переставь через вебинтсалер http://www.microsoft.com/en-us/downl...ils.aspx?id=35 он дотягивает обычно нудные компоненты DX
Очень странно.
Могу поставить 9.0c еще раз поверх, у меня она есть уже скачанная в архивах.
---------- Post added at 10:19 ---------- Previous post was at 10:10 ----------
Не, не помогло. Наверное все-таки с дотнетом что-то не так.
---------- Post added at 10:19 ---------- Previous post was at 10:19 ----------
А че такое verify и clear?
А, понятно, прочитал. Проверю.
Проверил ключиком /verify, он нашел у меня версию 2.0 SP2, проверил ее и написал, что все окейно.
---------- Post added at 10:57 ---------- Previous post was at 10:28 ----------
Выяснил. Дело действительно в директиксе оказалось. Поставил вебинсталлерскую, сразу все заработало.
Хорошенький эмуль, но есть несколько замечаний.
1. Цвет Bright 0 очень темный.
2. Нет сканлайнов.
3. Нет ковокса.
4. Нат автобута, когда бросаешь дискету в эмулятор
5. Вроде бы при турбозагрузке в тр-досе грузит медленнее, чем на реале. Но это еще надо проверять.
---------- Post added at 11:08 ---------- Previous post was at 10:57 ----------
Блин, ZXMak заработал, т.к. ему 2.0 .NET нужен. А другая прога требует 3.5. Что мне и 3.5 ставить? Зачем такая путаница? Одним 1.1, другим 2.0, третьим 3.5? И это все нужно одновременно иметь.
Titus, у меня этих файлов .NET аж девять штук, начиная от 1.1 и далее везде. Зато всё работает, а они мне не мешают. ;)
Ну, есть два варианта развития таких платформ - или ломать совместимость с более старыми версиями, или держать в языке кучу атавизмов. Дотнет идет по первому пути, джава - по второму. Вообще обычно инсталляторы программ сами тянут себе нужную версию, и пользователю не приходится в них разбираться.
Нофлик, очень хочу нофлик =)
Один из немногих эмулей, который мне нравится в полном экране, а при своем непростом видео-сетапе вывода картинки на монитор это плюс.
именно так и нужно сделать. Только ставить нужно свежий DirectX 9, т.к. их много было.
Запусти веб инсталлер он доустановит несколько файлов и все.
---------- Post added at 15:06 ---------- Previous post was at 15:01 ----------
ты мог сразу 4.0 поставить. Эмулятору требуется минимум 2.0 или выше. У меня он работает на 4.0. Это даже лучше для производительнсоти :) Одновременно их ставить необязательно :)
Правда есть исключение для программам требующих дотнет 1.0, им может потребоваться обязательная установка 1.0, даже если уже установлена 4.0.
В твоем случае можешь просто поверх еще 3.5 или сразу 4.0 поставить
---------- Post added at 15:17 ---------- Previous post was at 15:06 ----------
я сам подумываю нофлик и др. фильтры прикрутить, но с фильтрами в DX никогда не работал, поэтому нужно разбираться
Обновил эмулятор до версии 2.6.4.0, благодаря Eltaron добавил RZX, кроме того изменено поведение сброса.
RZX довольно чувствителен к ПЗУ, поэтому перед открытием нужно выбрать соответствующую модель памяти - ZX Spectrum 48 или ZX Spectrum 128. Иначе на некоторых играх может наблюдаться десинхронизация.
Синхронизации развертки под INT нету, поэтому если запись была сделана на машине у которой тайминги отличались, могут быть флики. Чтобы исправить нужно рефакторить код - вычисление текущего такта сильно размазано по коду.
Gunstar.rzx который приводил выше Eltaron работает на 48 пзу, но через две минуты почемуто рассинхронизируется. Вероятно пзу отличается от оригинала.
Обновил до версии 2.6.5.0 - добавился API для иконок. Устройства теперь могут регистрировать свои иконки, которые будут появляться в правом верхнем углу экрана. Добавлены иконки для паузы, магнитофона, винчестера (SMUC).
2 zebest: попробуй на W2k, насколько помню у тебя при ресайзе крешилось. Возможно эта версия исправит проблему, отпиши тут результат плиз
Обновил до версии 2.6.6.0 - добавил фильтр NoFlic и исправил обновление отладчика после загрузки RZX файла.
http://savepic.net/3481585.png
По поводу RZX обнаружил странную вещь. Дело в том что через время синхронизация по непонятной причине теряется. Следил по отладчику в сравнении со спектакулятором и обнаружил что поведение онного зависит от того исполняется ли сейчас RZX или обычный снэпшот :eek:
Тест на Gunstar.rzx приведенный выше - ставим точку останова на #0038 (прерывание) и открываем gunstar.rzx. Выполняем первый кадр - смотрим число тактов. Выполняем второй кадр - смотрим число тактов:
frame 1: 15T (по спектакулятору 19)
frame 2: 16T (по спектакулятору 19)
если инициализировать RZX счетчик значением -1, то на первом кадре получим 19T, как в спектакуляторе. Однако на втором кадре получим 20T. Если же спектакулятором открыть SZX файл, то прерывание происходит как положено. Куда девается 1T в спектакуляторе, если выполняется RZX? :eek:
хм, а у тебя вообще какие-то приложения использующие Direct3D работают при ресайзе окна? Даже не представляю почему вызов Direct3D::Reset может при частом вызове приводить к AccessViolation. Единственное что приходит в голову - сбоит видеопамять или просто хакнутый драйвер для w2k3 вообще не позволяет сделать несколько вызовов Direct3D::Reset. Если это так, то твой драйвер видеокарты просто не совместим с ресайзом окна, т.к. ресайз окна требует выполнить Direct3D::Reset
окно должно быть черным. По логу видно что на системе, где было запущено приложение, Direct3D вообще не доступен. Видимо ты какие-то драйверы не установил после переустановки видеоплат. Эмулятор на такой системе вообще не должен запускаться. Попробуй установи драйвера чтобы работали 3D проги и эмулятор чтобы хотябы запускался. И после этого запусти этот тест еще раз.
Попробуй выполнить вот эти шаги перед тем как запускать тест:
Не совсем понятно, на nvidia тоже крэш был?Цитата:
Windows Server 2003 Graphics Acceleration is disabled by default, which disables DirectX functionality. This is to enhance server stability and is not needed in standard server scenarios.
To enable DirectX, you must first enable graphics acceleration. To do so follow the next steps:
1) Right click on the desktop and go to Properties, Settings, Advanced, Troubleshooting.
2) Set the Hardware acceleration bar to Full.
http://www.petri.co.il/images/graphics_accel.gif
3) Click Ok all the way out.
To activate Direct3D and DirectDraw (DirectX) follow the next steps:
1)Go to Start/Run and type "dxdiag".
2)Click OK.
3) Click on the Display tab, then click on the Enable button for DirectDraw and Direct3d.
http://www.petri.co.il/images/graphics_accel1.gif
4) Click Ok all the way out.
Я тут просмотрел логику кода и похоже что Direct3D::Reset у тебя вообще не работает. Крэш по всей видимости при первой-же попытке Direct3D::Reset происходит. Нужно будет посмотреть стандартные примеры приложений в DirectX SDK и попробовать запустить те, которые выполняют Direct3D::Reset, если будет крэш, то обойти это на твоих дровах видеокарты скорей всего не получится.
Попробую еще под виртуалкой в WS2003 потестить.
речь об win server 2003. А XP тоже с помощью хаков видит, только от этих хаков иногда могут быть синие экраны. Хотя в данном случае врядли захаченая поддержка памяти влияет, ошибка в драйвере видеокарты происходит. Такое впечатление что на любой вызов Direct3D::Reset крешится память.
что значит ничего? Должна быть либо какая-то ошибка, либо сообщение end init
это не веб инсталлер, а dxdiag - дигностический тул. То что он говорит еще не значит что все компоненты присутствуют. Веб инсталлер тут: http://www.microsoft.com/en-us/downl...ils.aspx?id=35
Установил Windows Server 2003 x86 Standard Edition, установил DirectX с помощью веб инсталлера (ссылка выше), установил дотнет фреймворк 2.0 с сервис паком SP2.
Запускаю - все работает, ресайзится без проблем :smile:
Может у тебя какой-то утилит установлен, который в играх FPS или другие сообщения поверх изображения игры показывает?
Попробуй вот этот вариант теста, в архиве также запаковано тестовое приложение от DirectX SDK - Text3d.exe, попробуй его тоже.
3DMark мало о чем скажет, во первых он DX10/DX11 использует, во вторых он в полноэкранном режиме работает. А проблема как-раз с оконным режимом. Без ресайза окна эмулятор и на твоем драйвере работает. Вопрос в том - как обойти проблему в драйвере, если это вообще возможно.
Есть у меня мысли, что крэш этот связан может даже не с драйвером, а с софтом, который у тебя установлен и перехватывает вызовы к Direct3D::Reset. В этом софте ошибка. Вот правда как найти кто это гадит, будет наверно непросто.
использует но не Managed DirectX. Ситуация усугубляется тем что я протестил на точно такой-же системе установленой с нуля все работает без проблем. Вероятно проблема связана с несовместимостью Managed DirectX с твоей видеокартой. Или все-же у тебя установлен какой-то кривой перехватчик DirectX, который и баламутит воду.
Попробуй вот этот тест.
PS: я в шоке - погуглил по MDX, сколько было софта -игры и т.п. Все сайты как сговорились - либо сайта нет, либо страница удалена. Информацию про контест игр на Managed DirectX с интела потерли, гугл уже ничего не находит. Ссылка SDK на сайте майкрософта говорит файл не найден...
вот, нашел наконец программку которая MDX использует: http://sourceforge.net/projects/nasa...e_mirror=ignum
Попробуй ее запустить. Это аналог Google Earth, только попроще, от NASA.
---------- Post added at 23:54 ---------- Previous post was at 23:36 ----------
хех, проверил на Windows Server 2003 Enterprise и проблема на ней действительно наблюдается. В этой системе какие-то проблемы с поддержкой Direct3D.
Что интересно в Windows Server 2003 Standard все работает как окей. :)
Покопаюсь, может найду чего именно нехватает в Enterprise версии.
а нет, я ошибся дело оказалось в том чтов Enterprise по дефолту был выключен сервис аудио устройств. Включил и эмулятор заработал без каких либо проблем - все ресайзится без проблем.
я бы на твоем месте не был так уверен, если она заработает то и эмуль должен без проблем работать и ресайзиться.
ты видимо тест #1 запустил. А что с #2 и #3?
не совсем, там два стек трейса выводится, чтобы увидеть где произошла ошибка и откуда пришел вызов. Они немного пересекаются.
---------- Post added at 00:20 ---------- Previous post was at 00:14 ----------
а вот это уже интересно, в третьем тесте вообще не используется Reset, только классическая отрисовка в OnPaint. Там нет вообще ничего такого что могло бы дать ошибку.
Попробуй NASA подольше подергать. По идее тоже крэш выскочит. Если нет будем думать, заметил что NASA использует более старую версию Managed.DirectX.Direct3DX, возможно неспроста.
Есть еще мысль, не исключено что у тебя на видеокарте сбоит видеопамять. Такие ошибки в этом случае - обычное дело.
нашел ошибочку - в какие-то давние времена был утерян флаг Multithreading в параметрах девайса, не знаю в ней ли причина, но поправил. Пробуй :)