С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
goodboy, дешифрация джойстика делается по маске 0xE0. Выборка происходит при нулях.
Настройка дешифрации портов для джойстика почему-то не прикручена. Видимо пропустил.
Для других устройств дешифрацию можно подредактировать в vmz файле, где хранится конфигурация машины.
Надо будет прикрутить и для джойстика.
А какая дешифрация для джойстика корректная для оригинальных 48к, 128к и пентагона?
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
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
ещё бы копирайт поправить с:
Copyright 2001 - 2015 Alex Makeev
на:
Copyright 2001 - 2018 Alex Makeev
Вот новая версия 2.9.3.6:
https://drive.google.com/file/d/18MZ...ew?usp=sharing
- добавлен код настройки дешифрации портов, многие устройства теперь сохраняют и загружают настройки дешифрации портов в конфигурации. Их можно править текстовым редактором в vmz файле).
- covoxPentagon, CovoxScorpion и CovoxProfi удалены, вместо них добавлены более универсальные CovoxMono и CovoxStereo (настраивается вручную в vmz файле)
- исправлен баг с мерцанием всплывающего меню Wizard окна Settings при первом нажатии
- подчищен код DirectX
- обновил год в окне about
Немного о настройках дешифрации портов. Устройства сохраняют их в виде следующих аттрибутов:
- "noDos": если true, то порт открывается только при отключенном DOS пзу
- "mask" или "maskXXXX", где XXXX - это название порта (если их несколько) - это маска выборки. Единички в двоичном представлении указывают на биты адреса, которые учавствуют в выборке
- "port" или "portXXXX" - это собственно адрес порта
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Все просто:
"n" - значит данная адресная линия не участвует в дешифрации вообще - эти сигналы на дешифрацию просто не идут (а значит, могут быть любыми) и ни на что не влияют.
"X" - значит, что эти значения могут изменяться в соответствии с желаниями программиста, выполняя определенные функции. Т.е. в самой дешифрации они не участвуют, но в рамках работы "сдешифрированного порта" выполняют дополнительные функции. Так, если брать порт #FE", то сброс адреса A3 устанавливает цвет бордюра в Bright 1, комбинация значений A7 и A6 выбирает тип графического режима, а A5=0 отключает ПЗУ для работы CP/M.
Аналогично следует трактовать данные символы применительно к другим портам, если такое встретится. Есть ли еще такое в АТМ1 не помню, но в АТМ2(+) такое встречается во многих портах, в частности, в портах диспетчера памяти и системном порту, где помимо шины данных для передачи параметров подобным образом участвует и шина адреса.
Максагор, NedoPC group
ПК ATM-turbo 2+ 1024Kb RAM, 1,7Gb HDD, CD-ROM, Turbo FM, GS-512
[ZX rulezzz 4reva!!!]
http://atmturbo.nedopc.com
http://vk.com/atmturbo
http://maksagor.livejournal.com
http://moskprf.ru
[СССР][Коммунизм][КПРФ] ну [ZX], естественно...
Похоже это не так. Благодаря zebest обнаружилось, что с дешифрацией только по A5=0 на модели 48к early фейлится тест из аттачмента.
Если поставить дешифрацию по A7=A6=A5=0, то весь тест проходит без ошибок.
Я поспешил поставить дешифрацию для кемпстон джойстика только по А5, для исправления, нужно после выбора модели в vmz файле подредактировать маску порта - поставить ее равной 0xE0:
Или исправить конфигурацию 48к модели в файле machines.config, тогда при выборе модели сразу правильная будет загружаться:Код:<Device type="ZXMAK2.Hardware.General.KempstonJoystick, ZXMAK2.Hardware" noDos="True" mask="0xE0" port="31" hostId="" />
с маской 0xE0 для кемпстон джойстика тест проходит без проблем:Код:<Bus name="ZX Spectrum 48" modelId="Sinclair48"> <Device type="ZXMAK2.Hardware.Spectrum.UlaSpectrum48" /> <Device type="ZXMAK2.Hardware.General.BetaDiskInterface" /> <Device type="ZXMAK2.Hardware.General.AY8910" frequency="1773400" maskAddr="0xC002" maskData="0xC002" portAddr="0xFFFD" portData="0xBFFD" /> <Device type="ZXMAK2.Hardware.General.BeeperDevice" bitEar="4" bitMic="3" /> <Device type="ZXMAK2.Hardware.General.TapeDevice" /> <Device type="ZXMAK2.Hardware.General.KeyboardDevice" /> <Device type="ZXMAK2.Hardware.General.KempstonJoystick" noDos="true" mask="0xE0" port="0x1f" /> <Device type="ZXMAK2.Hardware.General.Debugger" /> <Device type="ZXMAK2.Hardware.Spectrum.MemorySpectrum48" /> </Bus>
Последний раз редактировалось ZXMAK; 17.07.2018 в 09:58.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)