С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
новая версия 206:
- исправил чтение порта с магнитофона (звук был, а чтения не было - по ошибке магнитофон выдавал данные в обработчик записи в порт)
- добавились сериалайзеры скриншотов в BMP и JPG
- добавилась опция /zexall для Test.exe - выполняет zexall.sna 700000 кадров, сохраняя скриншот каждые 30000 кадров
- доработана структура сериалайзеров для образов дисков
- добавлен скрин конфигурации beta disk interface
Последний раз редактировалось ZXMAK; 14.09.2011 в 11:18.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
http://zx.pk.ru/showthread.php?t=13685
ток учи там нет ВГ93
на современной базе с живым Z80 ВГ93 только ZX Evolution но размер под писюковый корпус
ну а как по скорости эмулятор на слабых машинах себя ведет?
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Новая версия 207:
- файл лога теперь создается только если появляются записи, чтобы не плодить пустые файлы
- доработана модель шины данных, теперь все устройства вешаются на нее и взаимодействуют друг с другом только через шину
- GUI: захват мыши теперь происходит только при двойном клике (освобождение Alt+Ctrl)
- окно настроек строится динамически - прямо с шины вытягивается список висящих на ней устройств и через рефлексию делается поиск подходящего контрола для настройки каждого девайса (поиск по всем сборкам домена, т.е. без проблем можно подгружать внешние девайсы-плагины
осталось немного допилить (убрать некоторые связи), подоптимизировать, довести до ума скрин конфигурации машины и готов плагинный эмулятор
Пока коротоко суть работы плагинов:
Все девайсы (кроме самого проца) являются наследниками IBusDevice и взаимодействуют только с шиной.
Девайс может найти своих собратьев на шине по типу реализуемого ими интерфейса, для этого используется метод FindDevice.
Работа девайса начинается с вызова BusConnect, вот пример реализации магнитофона:
Код:public void BusConnect(IBusManager bmgr) { bmgr.SubscribeRDIO(0x0001, 0x0000, readPortFE); } public void BusDisconnect() { } public string BusDeviceType { get { return "Tape Recorder"; } } public string BusDeviceName { get { return "Play only tape device"; } } #region WRPORT private void readPortFE(long cpuTact, ushort addr, ref byte value) { value &= 0xBF; value |= (byte)(GetTapeBit(cpuTact) & 0x40); } #endregion
Последний раз редактировалось ZXMAK; 16.09.2011 в 07:50.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Новая версия 208:
- в предыдущей версии после смены ULA девайса плыли тайминги прерываний, из-за чего при выборе ULA Scorpion плыл бордюр в мультиколоре;
- звук загрузки магнитофона временно удалил (вычистил все ссылки на девайсы, чтобы доступ к ним был только через шину)
- незначительно повысилась производительность движка
Последний раз редактировалось ZXMAK; 16.09.2011 в 07:57.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
жестко, мож хотя бы не искать в тех которые в GAC.
Попробывал тестик, эмулятор как библиотеку подключил
реакции нет...Код:static class Program { [STAThread] static void Main() { Application.Run(new ZXMAK2.Controls.FormMain()); } } public class IO_Test : IBusDevice { public void BusConnect(IBusManager bmgr) { MessageBox.Show("Connect"); } public string BusDeviceName { get { return "IO_Test"; } } public string BusDeviceType { get { return "Block device"; } } public void BusDisconnect() { MessageBox.Show("Disconnect"); } }
правда я еще рефлектором внутрь не заглядывал
речь про AppDomainКороче все загруженные сборки. При запуске эмуль будет сканить папку плагинов и загружать из нее все сборки
так и будет работать, но пока инициализация жестко захардкожена, поэтому юзаются только те девайсы что захардкожены. Нужно еще немного код доделать. Единственное что выводить блокирующие окна из BusConnect нехорошо.
Последний раз редактировалось ZXMAK; 16.09.2011 в 11:50.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
хотел посмотреть подтянет или нет.
и кстати сразу вопрос встает, вот делаю я к примеру плагин SD Card читалку/ писалку хотелось бы: возможность добавить пункт меню File|Load image (ну или допустим расширять список понимаемых форматов и обрабатывать выбор файла своего формата), ну еще было бы хорошо если была бы возможность доступа к конфигурации, что бы не лепить каждому плагину свой, на примере читалки sd было бы хорошо хранить образ подкидываемый по умолчанию.
я просто глянул что в AppDomain.CurrentDomain.GetAssemblies() там половина шлака...
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)