все оказалось банальнее, похоже скорпион обрабатывает NMI через обычную процедуру MAGIC в TRDOS, а у меня для NMI мапилось сервисное пзу...
---------- Post added at 23:04 ---------- Previous post was at 21:53 ----------
Обновил эмулятор до версии 2735:
Из основных изменений:
- исправлена обработка NMI для Scorpion;
- добавлена модель памяти Scorpion PROF-ROM 1024K;
- оптимизирована загрузка плагинов
- небольшой рефакторинг записи/загрузки конфигурации машины
- теперь чекбокс Write Protect на закладке BDI автоматически блокируется в состоянии включено, если файл открыт из ZIP архива (раньше было не видно что файл из архива открывается всегда в режиме read only)
- добавлена поддержка RAW имиджей ROM'ов в родном формате для PROFI, QUORUM и ATM450. Т.е. теперь можно просто брать полный образ рома снятый с реальной машины и мапить его одной страницей с именем RAW. Обычный мапинг через имена страниц разумеется тоже продолжает работать. Порядок перечисления страниц в ~mapping.xml сохраняется при загрузке ромов. Т.е. можно загрузить RAW образ, а потом например перегрузить только страницу DOS.
- при сравнении и поиске имен ромсетов теперь нет зависимости от регистра
- рефакторинг ROMS.PAK (удалены дубликаты, замена постраничного мапинга на RAW и т.п.)
- в ROMS.PAK добавлены тестовые прошивки для ATM1 и Scorpion (какие нашел )
- теперь в окне Memory Map можно редактировать значения регистров CMR0/CMR1 менеджера памяти. Для редактирвоания нужно сделать двойной клик на значении.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Решил тряхнуть стариной и забрал последнюю версию исходников из SVN.
Собрал при помощи VS2012 Update2. При запуске сразу же свалилось с исключением:
************** Текст исключения **************
System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в ZXMAK2.Controls.FormMain.FormMain_FormClosing(Obje ct sender, FormClosingEventArgs e) в c:\Users\Viktor\zxmak2\SRC\ZXMAK2\Controls\FormMai n.cs:строка 191
в System.Windows.Forms.Form.OnFormClosing(FormClosin gEventArgs e)
в System.Windows.Forms.Form.RaiseFormClosingOnAppExi t()
в System.Windows.Forms.Application.ExitInternal()
в System.Windows.Forms.Application.ThreadContext.OnT hreadException(Exception t)
в System.Windows.Forms.Control.InvokeMarshaledCallba cks()
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.ScrollableControl.WndProc(Mes sage& m)
в System.Windows.Forms.ContainerControl.WndProc(Mess age& m)
в System.Windows.Forms.Form.WndProc(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Версия Windows 7 SP1 x32, работает под Oracle Virtual Box 4.2.12 под Gentoo
Не прикалываюсь, просто по долгу службы приходится кодить под Windows на C# а дома ставить на машину как постоянную ОС Windows я не хочу. Вот и приходится такими костылями пользоваться =)
UPD:
Если верить трассировке -- валится из-за того что VM под VirtualBox не совсем хорошо работает с граф.оборудованием. Свалилось в Managed-сборке DirectX....
Нельзя-ли как-то это поправить или оно совсем завязано на Win и DirectX? А так бы хороший кросс-платформенный продукт получился, который бы и под Mono работал.
Еще вопросик:
Почему такая старая версия .NET Framework в проекте (2.0)? Уже пора хотя-бы на 3.5 или 4.0 переходить. 2.0 Все-таки еще с XP SP2 умерла, которой уже ни где нет
Последний раз редактировалось impressed; 09.05.2013 в 13:54.
2:5083/89
еще одно обновление версия 2736:
- исправлена и переработана эмуляция RTC (CMOS) для девайсов PROFI CMOS, GLUCK CMOS, SPRINTER RTC
- добавлены новые ромы в ромпак: PROFI v450 и SCORPION TEST
- демо образ с софтом для профи удален из этого релиза в целях экономии объема
---------- Post added at 13:12 ---------- Previous post was at 12:55 ----------
естественно под Mono работать не будет, т.к. в этой версии вывод завязан на DirectX, которого в линуксе нету
Чтобы работало под моно, нужно делать вывод через SDL. Как показал опыт ZXMAK.NET, который был в трех вариантах - для DirectX, для SDL и для XNA - это гиблый путь, т.к. распыляет все силы на поддержку всех платформ. Сейчас времени у меня едва хватает чтобы потихоньку развивать хотя-бы DirectX вариант.
Если нужно запустить под линуксом - это можно сделать в Wine. Сам не пробовал, но люди пишут что запускают и работает.
сама эмуляция не завязана. Используются Direct 3D - для быстрой отрисовки и масштабирования, DirectInput для опроса клавиатуры и мыши, DirectSound для вывода звука. Ктото тут делал порт для SDL, чтобы под моно запускать, но похоже забросил это дело. У меня, как написал выше, просто нет времени на это, поэтому я делаю с DirectX, т.к. он мне более знаком чем SDL.
да ничего не мешает переключить на 4 фреймворк и перекомпилировать, 2-ой фреймворк используется потому что не у всех 4-й установлен.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
А в чём бонус от .NET? У меня он вообще не установлен, никакой.
С часами явно что то не то:
IT FOUND A VOICE... NOW IT NEEDS A BODY
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Под VirtualBox стоит чистая лицензионая Windows 7 + VisualStudio 2012. Там нет Mono. Про моно это были мысли в слух. Все валится при инициализации Managed DirectX. Не плохо было бы сделать fall-back режим, на случай если вдруг у кого-то старое железо или с видюхой проблемы, иначе вылазиет исключение инициализации DirectX.
Как вариант юзать софтовый рендер как было в старых гамезах =)
2:5083/89
Если в личке не отвечаю, есть связь через почту zoreldnepr(собака)gmail(точка)com
ATM-turbo 2+ v7.10+General Sound+FloppyEmul+HDD(Tasis/Xcomander CP/M)
Неофициальный сайт об Орель БК-08 и не только.Распродажа печатных плат. новодел
.NET среда для исполнения управляемого кода, аналог Java только избавленный от косяков Java т.к появился гораздо позже.
Бонус в том, что запустить исполняемый файл можно под любой ОС для которой есть CLR-среда (Common Language Run-time) без перекомпиляции последнего из исходников.
Правда как и везде есть свои минусы --скомпилированное под новые версии CLR не запустится на старых т.к в старых нет тех компонентво которые есть в новых, работает несколько медленее чем написанное на обычных языках, памяти жрет поболее засчет GC и управляемой памяти.
2:5083/89
А как ты включил часы в риал командере?
думаю проблема в том что RC не умеет настраивать/интерпретировать данные часов. Скорее всего проблема в настройках регистров A и B. Попробуй настроить часы вручную - исправь 10-й и 11-й байты (смещение #0A и #0B) в файле ZXMAK2.cmos. Варианты такие:
- формат 24-часа/двоичное представление: A=#27, B=#07;
- формат 24-часа/bcd представление: A=27, B=#03
И попробуй снова. Перед исправлением эмулятор закрыть, иначе он перепишит содержимое cmos файла.
Судя по товоему скрину, сейчас у тебя биты 1 и 2 регистра B установлены в 0 (скорее всего просто дефолтное значение #00), что соответствует 12-часовому формату и bcd представлению, в котором 95:03 означает 15:03 PM.
Добавлю в следующей версии дефолтную установку регистров А и Б в #27, #03. Судя по моим тестам весь софт поддерживает такой формат.
---------- Post added at 20:43 ---------- Previous post was at 20:41 ----------
так это-ж не официальная прошивка, а сейчас в эмуляторе официальная, разве нет?
Последний раз редактировалось ZXMAK; 09.05.2013 в 21:59.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)