PDA

Просмотр полной версии : ZXMAK.NET



ZXMAK
01.02.2006, 16:25
Пре-релиз эмулятора ZXMAK.NET 1.0.6.8 :)

Для вывода используется Direct3D, автоподстройка 50 Hz под частоту видеокарты.

Snapshots: Z80, SNA, ZX, SIT, SCR
Tape images: TAP, TZX, CSW
Disk images: TRD, UDI, FDI, SCL, hobeta

Поддерживается загрузка из ZIP архивов (в настоящий момент загружается только первый поддерживаемый файл из архива).

Для формата CSW V2 на данный момент сжатие не реализовано.
Загрузчик TD0 пока не реализован - нужно написать сжатие.

Поддерживается Drag'n'Drop.

Полная эмуляция Z80 (включая bit n,...)

Эмуляция ВГ93 на низком уровне, использован алгоритм как в unreal, судя по всему прийдется переделать...

AY и Beeper эмулируются полностью на звуковой карте через DirectSound.

Vista ready :)

Тестировал на Celeron 2000+Radeon 9200 и P4 1700+GeForce MX400 скорость вполне нормальная.

Кнопки:
Alt+Enter - полноэкранный режим
F1 - вкл/выкл. FPS и индикатор времени рендеринга
F2 - уменьшить скорость эмуляции
F3 - сброс
F4 - увеличить скорость эмуляции
F5 - остановка эмуляции
F9 - пуск эмуляции
F12 - быстрая загрузка снэпшота из boot.zip
Клик мышью в окне эмулятора - захват мыши
Alt+Ctrl - освобождение мыши

Из командной строки можно задавать опции:
/W - открывать следующие за этой опцией файлы с возможностью записи
/D - запустить эмулятор в остановленном состоянии и открыть отладчик

файлы ПЗУ эмулятор берет из архива roms.zip



хотелось бы услышать мнения по этому поводу... :rolleyes:

========

для работы эмулятора требуется среда .NET framework 2.0 (http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&DisplayLang=en) или выше

Рекомендуется установить свежий DirectX (http://www.microsoft.com/downloads/details.aspx?FamilyID=3f2828fa-0e3c-4837-afc0-6c67dcaa54bf&DisplayLang=en) (с Managed DirectX'ом), без DirectX работать не будет...

В Windows Vista .NET Framework устанавливать не нужно, он там и так есть, но DirectX нужно установить. Vista рейтинг 1 (любой комп) :)


Примечание: если DirectX вы устанавливали до .NET Framework 2.0, то после установки последнего, нужно еще раз запустить инсталляцию DirectX - доустанавливаются компоненты которые не могли быть установлены из-за отсутствия .NET Framework.

SMT
01.02.2006, 16:29
под mono работает?

ZXMAK
01.02.2006, 17:02
под mono работает?

хотелось бы надеятся :) я в линуксе не очень шарю, надеюсь ктото поможет с этим разобраться, вот например вопрос, в каком формате mono принимает сборки (есть сомнения что exe...)?

буду рад, если ктото подскажет где взять и как поставить mono на линуксе :rolleyes:


правда в чистом виде щас врядли будет работать - там щас используется Managed DirectInput для опроса клавы, что впрочем легко исправить ;)
также неясно - совместима ли mono с кодом на .net 2 - в эмуле используются генерики для хранения точек останова, что впрочем тоже несложно исправить ;)
со звуком тоже вопрос, но все это чисто интерфейсные части - ввод/вывод несложно переделать...

boo_boo
01.02.2006, 22:05
хотелось бы надеятся :) я в линуксе не очень шарю, надеюсь ктото поможет с этим разобраться, вот например вопрос, в каком формате mono принимает сборки (есть сомнения что exe...)?
exe :)


буду рад, если ктото подскажет где взять и как поставить mono на линуксе :rolleyes:

http://www.mono-project.com/Downloads
инсталлер должен прокатить по идее...

в моно, к слову, windows.forms хоть и поддерживается, но частично, так что с этим могут быть траблы (основной упор у них на Gtk#). еще mono COM не поддерживает -- вообще.

ZXMAK
02.02.2006, 14:28
exe :)

http://www.mono-project.com/Downloads
инсталлер должен прокатить по идее...

Спасибо, буду смотреть... :smile:



в моно, к слову, windows.forms хоть и поддерживается, но частично, так что с этим могут быть траблы (основной упор у них на Gtk#). еще mono COM не поддерживает -- вообще.

да COM не нужен :smile:, а в чем частичность поддержки windows.forms заключается? Такие классы там есть?:
System.Windows.Forms.Timer
System.Windows.Forms.MainMenu
System.Windows.Forms.MenuItem
System.Windows.Forms.Form

как там с System.Drawing? System.Drawing.Bitmap и System.Drawing.Graphics есть?

boo_boo
02.02.2006, 15:12
да COM не нужен :smile:, а в чем частичность поддержки windows.forms заключается? Такие классы там есть?:
System.Windows.Forms.Timer
System.Windows.Forms.MainMenu
System.Windows.Forms.MenuItem
System.Windows.Forms.Form

как там с System.Drawing? System.Drawing.Bitmap и System.Drawing.Graphics есть?классы эти есть.
а "частичность" в том, что до недавнего времени в mono Windows.Forms через wine работало. теперь сделали нативно, но поскольку свежак, есть глюки и не все реализовано (хотя 99% типа на месте). тут статус этого хозяйства: http://svn.myrealbox.com/mwf/class-status-System.Windows.Forms.html

Gtk# в гораздо более стабильном состоянии. ты врядли под него захочешь переделывать, но если вдруг, то работать оно будет и под линухом, и под виндами...

а с System (кроме System.Windows) вообще и System.Drawing в частности все давно в порядке...

ZXMAK
02.02.2006, 15:23
классы эти есть.
Gtk# в гораздо более стабильном состоянии. ты врядли под него захочешь переделывать, но если вдруг, то работать оно будет и под линухом, и под виндами...

а с System (кроме System.Windows) вообще и System.Drawing в частности все давно в порядке...

думаю можно сделать и под Gtk#, дело в том что в эмуле от Windows.Forms по сути используется только override OnPaint(...) и Invalidate() :cool: остальное не важно, ну разве что KeyDown/KeyUp тоже нужны :rolleyes:

еще есть проблемка - в линуксе звук выводить... нужен callback который буффер заполнять будет...

boo_boo
02.02.2006, 15:53
еще есть проблемка - в линуксе звук выводить... нужен callback который буффер заполнять будет... то есть вызывать нативные ф-ии для проигрывания звука? с этим помогу.
кстати, можно через SDL звук выводить, тогда и в виндах и в линукс/юниксах работать будет одинаково.

upd. не, с SDL замучаешься... а вот portaudio, наверно, покатит

ZXMAK
03.02.2006, 19:11
вот приатачил в первый пост новую версию эмулятора :rolleyes:

boo_boo
03.02.2006, 19:21
попробовал для смеху с mono запустить ;)

** (<unknown>:14076): WARNING **: Missing member .ctor in type MainMenu, assembly /opt/mono-1.1.13.2/lib/mono/gac/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

Unhandled Exception: System.MissingMethodException: Method not found: 'System.Windows.Forms.MainMenu..ctor'.
in <0x00000> <unknown method>
in <0x0002e> ZXMAK.FormMain:.ctor ()
in (wrapper remoting-invoke-with-check) ZXMAK.FormMain:.ctor ()
in <0x0003a> ZXMAK.Program:Main (System.String[] args)

ZXMAK
03.02.2006, 19:29
попробовал для смеху с mono запустить ;)

** (<unknown>:14076): WARNING **: Missing member .ctor in type MainMenu, assembly /opt/mono-1.1.13.2/lib/mono/gac/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

Unhandled Exception: System.MissingMethodException: Method not found: 'System.Windows.Forms.MainMenu..ctor'.
in <0x00000> <unknown method>
in <0x0002e> ZXMAK.FormMain:.ctor ()
in (wrapper remoting-invoke-with-check) ZXMAK.FormMain:.ctor ()
in <0x0003a> ZXMAK.Program:Main (System.String[] args)

странно, выходит в моно еще нету System.Windows.Forms.MainMenu, а какие меню есть?

P.S.: выкачал сырцы моно, на выходных буду пробовать установить :)

boo_boo
03.02.2006, 19:42
странно, выходит в моно еще нету System.Windows.Forms.MainMenu, а какие меню есть?

P.S.: выкачал сырцы моно, на выходных буду пробовать установить :)
я инсталлером ставил...
может класс есть, а метода не хватает... мои попытки поиметь информацию о статусе конкретных классов Windows.Forms на http://svn.myrealbox.com/mwf/class-status-System.Windows.Forms.html
успехом не увенчались :(
в сорцах смотреть придется.

ZXMAK
03.02.2006, 19:51
я инсталлером ставил...
может класс есть, а метода не хватает... мои попытки поиметь информацию о статусе конкретных классов Windows.Forms на http://svn.myrealbox.com/mwf/class-status-System.Windows.Forms.html
успехом не увенчались :(
в сорцах смотреть придется.

.ctor - это конструктор объекта, без конструктора экземпляр объекта создать невозможно... :(
зато хоть .ctor от формы работает :rolleyes:

ZXMAK
06.02.2006, 12:20
попробовал для смеху с mono запустить ;)

** (<unknown>:14076): WARNING **: Missing member .ctor in type MainMenu, assembly /opt/mono-1.1.13.2/lib/mono/gac/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

Unhandled Exception: System.MissingMethodException: Method not found: 'System.Windows.Forms.MainMenu..ctor'.
in <0x00000> <unknown method>
in <0x0002e> ZXMAK.FormMain:.ctor ()
in (wrapper remoting-invoke-with-check) ZXMAK.FormMain:.ctor ()
in <0x0003a> ZXMAK.Program:Main (System.String[] args)

ха, поставил я mono-1.1.13.2_0-installer.bin в Debian'е, и у меня выполнение дальше зашло - эмуль уже начал пытаться рисовать на форме и тут вылезла ошибка "gdiplus.dll not found", установить libgdiplus не удалось - какието траблы с компилятором - нету файла X11/Xlib.h

boo_boo
06.02.2006, 16:22
ха, поставил я mono-1.1.13.2_0-installer.bin в Debian'е, и у меня выполнение дальше зашло - эмуль уже начал пытаться рисовать на форме и тут вылезла ошибка "gdiplus.dll not found", установить libgdiplus не удалось - какието траблы с компилятором - нету файла X11/Xlib.h занятно -- у меня та же мона... а траблы не с компилятором, это XFree86-devel (или аналогичное для XOrg, заголовочные файлы для X-ов, короче) не установлены...

ZXMAK
17.02.2006, 11:44
:rolleyes: .....

Eltaron
19.02.2006, 19:10
прикольно :-))
интерфейс чуть тормозит, но это понятно, дотнет..
а он писался чисто ради .NET-первонаха, или все же будет развиваться? а то ведь даже до win32-версии ZXMak'а по возможностям не дотягивает

ZXMAK
21.02.2006, 10:49
прикольно :-))
интерфейс чуть тормозит, но это понятно, дотнет..
а он писался чисто ради .NET-первонаха, или все же будет развиваться? а то ведь даже до win32-версии ZXMak'а по возможностям не дотягивает

вначале писался для того чтобы прочувствовать возможности .NET, хватит ли его скорости, надо сказать что результаты оказались очень даже :) после этого была дописана полная эмуляция Z80, звук и т.п. думаю потихоньку развивать, щас хочу приделать нормальный вг93, но от zxmak'а переписывать руки не поднимаются - слишком большой и сложный код получился :) вобщем щас думаю как :)

ZXMAK
18.04.2007, 04:43
На данный момент эмулируется только Pentagon 128K (полная эмуляция мультиколора)

CityAceE
18.04.2007, 04:51
У ссылку?

ZXMAK
18.04.2007, 05:08
У ссылку?

т.е.? какую ссылку? файл приаттачил...

Дополнение: файл на первой странице топика, в первом сообщении zxmak.net.1.0.6.8.rar ;)

CityAceE
18.04.2007, 06:16
На работе Sempron 1,66 GHz на SocketA и 1,5 Gb памяти - загрузка процессора при запущенном эмуляторе 100%. Но сам эмулятор вроде не тормозит. Ну и настроек слишком мало пока...

Понравилось, что в названии окна эмулятора отображается имя подключенного в данный момент образа.

Ждём релиз...

ZXMAK
18.04.2007, 12:18
На работе Sempron 1,66 GHz на SocketA и 1,5 Gb памяти - загрузка процессора при запущенном эмуляторе 100%. Но сам эмулятор вроде не тормозит. Ну и настроек слишком мало пока...


А что за видеокарта? Большая загрузка процессора скорее всего связана с видеокартой (нет аппаратного акселератора или видеодрайвер нехорошо обращается с процессором). На P4 1700 загрузка процессора составляла 10-20%

CityAceE
18.04.2007, 12:42
А что за видеокарта?
GeForce2 MX400 32Mb

Alexandr Medvedev
18.04.2007, 15:26
А мне вот такую гадость сказал.
DriectX 9 и NET framework 2 установлены. Windows 2003 SP1.

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IO.FileNotFoundException: Не найден указанный модуль. (Exception from HRESULT: 0x8007007E)
at ZXMAK.GUI.MainForm._videoDevice_DeviceReset(Object sender, EventArgs e)
at Microsoft.DirectX.Direct3D.Device.raise_DeviceRese t(Object i1, EventArgs i2)
at Microsoft.DirectX.Direct3D.Device.Reset(PresentPar ameters[] presentationParameters)
at ZXMAK.GUI.MainForm._videoDevice_DeviceResizing(Obj ect sender, CancelEventArgs e)
at ZXMAK.GUI.MainForm.InitDirectX(IntPtr hWnd)
at ZXMAK.GUI.MainForm.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Mes sage& m)
at System.Windows.Forms.ContainerControl.WndProc(Mess age& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at ZXMAK.GUI.MainForm.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///E:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
ZXMAK.NET
Assembly Version: 1.0.6.8
Win32 Version: 1.0.6.8
CodeBase: file:///E:/ZX/ZXMN/ZXMAK.NET.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///E:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///E:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///E:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Microsoft.DirectX.Direct3D
Assembly Version: 1.0.2902.0
Win32 Version: 9.05.132.0000
CodeBase: file:///E:/WINDOWS/assembly/GAC/Microsoft.DirectX.Direct3D/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.Direct3D.dll
----------------------------------------
Microsoft.DirectX
Assembly Version: 1.0.2902.0
Win32 Version: 5.04.00.2904
CodeBase: file:///E:/WINDOWS/assembly/GAC/Microsoft.DirectX/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

ZXMAK
18.04.2007, 23:56
А мне вот такую гадость сказал.
DriectX 9 и NET framework 2 установлены. Windows 2003 SP1.

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IO.FileNotFoundException: Не найден указанный модуль. (Exception from HRESULT: 0x8007007E)
at ZXMAK.GUI.MainForm._videoDevice_DeviceReset(Object sender, EventArgs e)


Эта ошибка означает что не хватает одного компонента DirectX (файла Microsoft.DirectX.Direct3DX.dll версии 1.0.2911), т.е. у тебя очень старый DirectX, гдето двухлетней давности. :rolleyes: Установка свежего DirectX устранит эту ошибку.

Если неохота качать свежий DirectX, можно схитрить - подложить в папку эмулятора только те файлы DirectX'а которые ему нужны :v2_wink2:
Я не знаю насколько у тебя старый DirectX, судя по всему должно хватить одного файла Microsoft.DirectX.Direct3DX.dll.
Прикладываю к сообщению файлы от DirectX необходимые чтобы запустить эмулятор на старой версии DirectX. Если DirectX совсем старый, то может понадобится также файл d3dx9_30.dll, прикладываю и его :)

Однако я бы установил свежий DirectX. Он всеравно понадобится для новых игр и графических приложений.

Файл Microsoft.DirectX.rar - файлы DirectX'а, которые могут понадобится если у вас старый DirectX 9.

Файл d3dx9_30.part1.rar + d3dx9_30.part2.rar - это файл от DirectX который может понадобится если у вас очень старый DirectX 9.

ZXMAK
19.04.2007, 00:01
GeForce2 MX400 32Mb


а частота обновления экрана какая установлена? Я забыл сказать что чем больше частота тем быстрее эмулятору нужно нарисовать кадр, поэтому на большой частоте обновления экрана нужен быстрый процессор. :)
Эмулятор не устанавливает принудительно удобную для себя частоту обновления, а подстраивается под ту что есть.

Рекомендуемая частота обновления 75 Гц. В этом режиме эмулятор будет чувствовать себя наиболее удобно. Можно также поставить 100 Гц.

Это все нужно чтобы изображение выглядело максимально приближенно к реальному спектруму с его 50 Гц.

Потом я добавлю настройку, с помощью которой можно будет выбрать оптимальный режим для медленных компьютеров.

CityAceE
19.04.2007, 06:42
а частота обновления экрана какая установлена?
75 Hz

Протестировал эмулятор дома (AM2 X2 4200+, 2 Gb, GF 7600GT) - загрузка процессора составила 13-15%.

Alexandr Medvedev
19.04.2007, 13:12
Если неохота качать свежий DirectX, можно схитрить - подложить в папку эмулятора только те файлы DirectX'а которые ему нужныПодложил. Эмуль запускается, но вместо экрана Spectrum'а пустое место (виден рабочий стол), есть только меню и строка заголовка. А вот окно about прорисовывается нормально.

ZXMAK
19.04.2007, 22:28
Подложил. Эмуль запускается, но вместо экрана Spectrum'а пустое место (виден рабочий стол), есть только меню и строка заголовка.


хм, значит хитрость с подкладыванием файлов от свежего directX не сработала. Кстати судя по тому что у тебя windows server, то файл d3dx9_30.dll тебе может не подойти, это файл от directX для windows Xp...
Вобщем видимо без обновления dx не обойтись...

Еще есть вероятность что твоя видеокарта не поддерживает нужный тип текстуры. С Radeon и GeForce проблем не будет, а вот некоторые старые дешевые видеокарты могут не подойти. Вобще в таком случае должна была вылезти ошибка, но я о таких нестандартных видеокартах слышал только слухи, поэтому точно сказать не могу.
В случае если дело в текстуре, то если нажать на F1, то слева вверху должна появится толстая полоска на которой будет отображаться fps, остальная область окна так и будет дырявой. Если не появляется значит дело не в текстуре.

А что у тебя за видеокарта? Звук есть? В полноэкранном режиме отрисовка работает? (включается alt+enter)



А вот окно about прорисовывается нормально.

about это обычное gdi окно, а отрисовкой основного окна занимается directX, ту область что не отрисовывается рисует Direct3D.

Alexandr Medvedev
20.04.2007, 12:38
Еще есть вероятность что твоя видеокарта не поддерживает нужный тип текстуры. С Radeon и GeForce проблем не будет, а вот некоторые старые дешевые видеокарты могут не подойти.А у меня её и нету ;-) . В смысле видеокарта интегрированная.
Все прочие эмули нормально работают. Вот уж не думал что эмуляции экрана Spectrum требуется мощной видеокарты. Лучше былобы overlay пользовать как UnrealSpeccy.
Вобще в таком случае должна была вылезти ошибка, но я о таких нестандартных видеокартах слышал только слухи, поэтому точно сказать не могу.Ошибка такая:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
Error in the application.
-2005530516 (D3DERR_INVALIDCALL)
at Microsoft.DirectX.Direct3D.Texture..ctor(Device device, Int32 width, Int32 height, Int32 numLevels, Usage usage, Format format, Pool pool)
at ZXMAK.GUI.MainForm._videoDevice_DeviceReset(Object sender, EventArgs e)
at Microsoft.DirectX.Direct3D.Device.raise_DeviceRese t(Object i1, EventArgs i2)
at Microsoft.DirectX.Direct3D.Device.Reset(PresentPar ameters[] presentationParameters)
at ZXMAK.GUI.MainForm._videoDevice_DeviceResizing(Obj ect sender, CancelEventArgs e)
at ZXMAK.GUI.MainForm.InitDirectX(IntPtr hWnd)
at ZXMAK.GUI.MainForm.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Mes sage& m)
at System.Windows.Forms.ContainerControl.WndProc(Mess age& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at ZXMAK.GUI.MainForm.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///E:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
ZXMAK.NET
Assembly Version: 1.0.6.8
Win32 Version: 1.0.6.8
CodeBase: file:///E:/ZX/ZXMN/ZXMAK.NET.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///E:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///E:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///E:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Microsoft.DirectX.Direct3D
Assembly Version: 1.0.2902.0
Win32 Version: 9.05.132.0000
CodeBase: file:///E:/WINDOWS/assembly/GAC/Microsoft.DirectX.Direct3D/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.Direct3D.dll
----------------------------------------
Microsoft.DirectX
Assembly Version: 1.0.2902.0
Win32 Version: 5.04.00.2904
CodeBase: file:///E:/WINDOWS/assembly/GAC/Microsoft.DirectX/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.dll
----------------------------------------
Microsoft.DirectX.Direct3DX
Assembly Version: 1.0.2911.0
Win32 Version: 9.12.589.0000
CodeBase: file:///E:/ZX/ZXMN/Microsoft.DirectX.Direct3DX.DLL
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
В случае если дело в текстуре, то если нажать на F1, то слева вверху должна появится толстая полоска на которой будет отображаться fps, остальная область окна так и будет дырявой. Если не появляется значит дело не в текстуре.Не появляется.
А что у тебя за видеокарта? Звук есть? В полноэкранном режиме отрисовка работает? (включается alt+enter)
Windows говорит что видеокарта SiS 650_651_M650_740
Звук не слышен
В полноэкраннм режиме сразу вылетает ошибка, потом только строка меню видна

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
Error in the application.
-2005530516 (D3DERR_INVALIDCALL)
at Microsoft.DirectX.Direct3D.Texture..ctor(Device device, Int32 width, Int32 height, Int32 numLevels, Usage usage, Format format, Pool pool)
at ZXMAK.GUI.MainForm._videoDevice_DeviceReset(Object sender, EventArgs e)
at Microsoft.DirectX.Direct3D.Device.raise_DeviceRese t(Object i1, EventArgs i2)
at Microsoft.DirectX.Direct3D.Device.Reset(PresentPar ameters[] presentationParameters)
at ZXMAK.GUI.MainForm.set_FullScreen(Boolean value)
at ZXMAK.GUI.MainForm.OnKeyDown(KeyEventArgs e)
at System.Windows.Forms.Control.ProcessKeyEventArgs(M essage& m)
at System.Windows.Forms.Control.ProcessKeyMessage(Mes sage& m)
at System.Windows.Forms.Control.WmKeyChar(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Mes sage& m)
at System.Windows.Forms.ContainerControl.WndProc(Mess age& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at ZXMAK.GUI.MainForm.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///E:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
ZXMAK.NET
Assembly Version: 1.0.6.8
Win32 Version: 1.0.6.8
CodeBase: file:///E:/ZX/ZXMN/ZXMAK.NET.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///E:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///E:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///E:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Microsoft.DirectX.Direct3D
Assembly Version: 1.0.2902.0
Win32 Version: 9.05.132.0000
CodeBase: file:///E:/WINDOWS/assembly/GAC/Microsoft.DirectX.Direct3D/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.Direct3D.dll
----------------------------------------
Microsoft.DirectX
Assembly Version: 1.0.2902.0
Win32 Version: 5.04.00.2904
CodeBase: file:///E:/WINDOWS/assembly/GAC/Microsoft.DirectX/1.0.2902.0__31bf3856ad364e35/Microsoft.DirectX.dll
----------------------------------------
Microsoft.DirectX.Direct3DX
Assembly Version: 1.0.2911.0
Win32 Version: 9.12.589.0000
CodeBase: file:///E:/ZX/ZXMN/Microsoft.DirectX.Direct3DX.DLL
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

ZXMAK
21.04.2007, 02:08
А у меня её и нету ;-) . В смысле видеокарта интегрированная.
Все прочие эмули нормально работают. Вот уж не думал что эмуляции экрана Spectrum требуется мощной видеокарты. Лучше былобы overlay пользовать как UnrealSpeccy.Ошибка такая:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
Error in the application.
-2005530516 (D3DERR_INVALIDCALL)
at Microsoft.DirectX.Direct3D.Texture..ctor(Device device, Int32 width, Int32 height, Int32 numLevels, Usage usage, Format format, Pool pool)


эта ошибка означает что эмулятору не удалось создать текстуру. Т.е. дело не в DirectX, а в видеокарте - твоя видеокарта не понимает NPOT текстуры. В следующих версиях попробую сделать отрисовку через POT текстуру.

ZXMAK
24.04.2007, 23:41
Движок эмулятора заточен для XBOX360, сейчас думаю нужен ли кому эмуль для XBOX360? :smile:

Подумываю о том чтобы перевести графику на SDL чтобы работало и под Linux и под Win, но тогда эмулятор будет требовать установки SDL, стоит ли, как считаете? :v2_smoke:

Alexandr Medvedev
25.04.2007, 16:36
Движок эмулятора заточен для XBOX360, сейчас думаю нужен ли кому эмуль для XBOX360?Не нужен.
Подумываю о том чтобы перевести графику на SDL чтобы работало и под Linux и под Win, но тогда эмулятор будет требовать установки SDL, стоит ли, как считаете?И это не нужно. Эмуль и так dotNet и DirectX просит а тут ещё что-то качать придётся. Да и тормозов наверняка добавиться.
Лучше эмуль наоборот облегчить в плане системных требований.

boo_boo
26.04.2007, 13:54
Подумываю о том чтобы перевести графику на SDL чтобы работало и под Linux и под Win, но тогда эмулятор будет требовать установки SDL, стоит ли, как считаете? :v2_smoke:

ИМХО стоит! :v2_thumb:
SDL придется устанавливать тока под линухом (тк там у ABI-ов есть обыкновение периодически меняться), а под вынь достаточно готовую dll-ку крайне скромного размера приложить.
и вообще, первый кроссплатформенный дотнет эмуль -- это звучит круто ;)

*.wma
29.07.2009, 17:47
У мну Vista x64, DirectX 10, Service Pack 1, видяшка GeForce 9500 GT.

Та же хрень:

************** Текст исключения **************
System.BadImageFormatException: не является приложением Win32. (Исключение из HRESULT: 0x800700C1)
в ZXMAK.GUI.MainForm.InitDirectX(IntPtr hWnd)
в ZXMAK.GUI.MainForm.OnLoad(EventArgs e)
в System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
в System.Windows.Forms.Control.CreateControl()
в System.Windows.Forms.Control.WmShowWindow(Message& m)
в System.Windows.Forms.Control.WndProc(Message& m)
в ZXMAK.GUI.MainForm.WndProc(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Загруженные сборки **************
mscorlib
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.1434 (REDBITS.050727-1400)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
ZXMAK.NET
Версия сборки: 1.0.6.8
Версия Win32: 1.0.6.8
CodeBase: file:///D:/Files/ZX/Эмуляторы/zxmak.net.1.0.6.8/ZXMAK.NET.exe
----------------------------------------
System.Windows.Forms
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.1434 (REDBITS.050727-1400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.1434 (REDBITS.050727-1400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.1434 (REDBITS.050727-1400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
mscorlib.resources
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.1434 (REDBITS.050727-1400)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
System.Windows.Forms.resources
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.1434 (REDBITS.050727-1400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------

************** Оперативная отладка (JIT) **************
Для подключения оперативной (JIT) отладки файл .config данного
приложения или компьютера (machine.config) должен иметь
значение jitDebugging, установленное в секции system.windows.forms.
Приложение также должно быть скомпилировано с включенной
отладкой.

Например:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

При включенной отладке JIT любое необрабатываемое исключение
пересылается отладчику JIT, зарегистрированному на данном компьютере,
вместо того чтобы обрабатываться данным диалоговым окном.


Если проигнорировать ошибку, то вылазит:

Type: System.BadImageFormatException
Message: не является системным приложением Win32. (Исключение из HRESULT: 0x800700C1)

StackTrace:
в ZXMAK.GUI.MainForm.RenderFrame()
в ZXMAKGUI.MainForm.OnIdle()
в ZXMAK.GUI.MainForm.Run()
в ZXMAK.Programm.Main()

ZEK
29.07.2009, 19:02
Поставить DX9

jager
03.09.2009, 02:56
Забавная штука. Запустил под Linux-ом SDL версию. Есть проблема с клавой, после нажатия Enter и Space они некоторое время повторяются.

Вопрос: а каков статус проекта? Скорее жив или мертв?

ZXMAK
07.09.2009, 03:46
У мну Vista x64, DirectX 10, Service Pack 1, видяшка GeForce 9500 GT.

Та же хрень:


System.BadImageFormatException: не является приложением Win32. (Исключение из HRESULT: 0x800700C1)
в ZXMAK.GUI.MainForm.InitDirectX(IntPtr hWnd)




попробуй запустить в 32-битном режиме, если такая возможность есть, у меня этой системы не было, поэтому мне сложно что-либо сказать по этому поводу. может быть ошибка из-за того что в твоей системе DirectX 64 битный, а референс у эмулятора стоит на 32-битный...
Попробуй поставить DX9 как посоветовал Heroy, и напиши сюда результат - помогло/не помогло?


Вопрос: а каков статус проекта? Скорее жив или мертв?

статус скорее мертв чем жив, спектрумом сейчас мало кто интересуется, да и времени на него нет... Хорошо хоть постарался и выложил то что было, а то так и кануло бы в лету. Если есть желание развивать дальше - с радостью отдам в хорошие руки :)

p.s.: в 32 битной Windows 7 работает даже лучше чем под XP :)

ZXMAK
11.10.2009, 09:12
Проверил на Win 7 x64 - работает, кстати по поводу ошибки - вышеприведенная ошибка вылетает если не установлен DirectX, чтобы заработало - скачиваем свежий DirectX (желательно полную версию, веб-инсталлер почему-то не установился), устанавливаем и эмулятор после этого отлично работает на x64 системе :)

Sve
20.02.2010, 13:15
Alexander Makeev, что тут про XBOX360 говорилось? У меня есть такое. Как можно посмотреть на нем сиё чудо? (XBOX заXBReboot'ченный, позволяет запускать неподписанный код, но исходников последней версии эмулятора на соурсфорже я не нашел)

ZXMAK
10.03.2010, 01:10
Alexander Makeev, что тут про XBOX360 говорилось? У меня есть такое. Как можно посмотреть на нем сиё чудо? (XBOX заXBReboot'ченный, позволяет запускать неподписанный код, но


для XBOX смотри проект XNA, возможно референсы для XBOX не подойдут, т.к. отлаживалось под виндой - подправь и перебилди, должно заработать :)
У меня нет иксбокса, поэтому XNA проект толком не отлажен, сам движок эмулятора я специально заточил чтобы было удобно в XNA использовать. Но толком все это реализовать не успел.
Хотел успеть оболочку по типу VMWare для win варианта сделать, т.е. внешний вид как у VMWARE, но только для спектрума :D, чтобы можно было конфигурацию настраивать и т.п. но времени нет :smile:




исходников последней версии эмулятора на соурсфорже я не нашел)

исходники в SVN'е на сорсфорже, можно вытянуть так:

svn co https://zxmak-dotnet.svn.sourceforge.net/svnroot/zxmak-dotnet zxmak-dotnet

Ajax16384
12.03.2010, 00:14
Alexander Makeev, кстати по поводу звука в XNA.
О XNA 4 MS guy пишет: "We’ve even added buffered audio support to the Audio API’s that many of you have asked for." . Возможно это именно динамическое формирование буфера проигрывания звука.
Таким образом с выходом четвертой версии XNA - возможно будет получить zxmak.net под Windows Mobile 7 и под X360, да еще и со звуком.