Просмотр полной версии : ZXMAK2 - Виртуальная машина ZX Spectrum
Страницы :
1
2
3
4
5
6
7
[
8]
9
SoftLight
13.07.2018, 18:20
У меня на win10 консоль всегда захлопывается во всех версиях что по кнопке что по менюшке.
ZXMAK, а можете добавить в эмуляторе назначение любого типа джойстика (interface 2, cursor, sinclair 1,2...) на клавиши стрелки и например ctrl ?
а консоль остаётся если закрывать эмулятор нажимая мышкой на крестик.
во время работы эмулятора консоль закрыть нельзя - это ограничение консоли в windows.
Можно спрятать, комбинацией Ctrl+C, по этой комбинации окно консоли спрячется (но не закроется).
Чтобы убрать консоль вообще, нужно из log4net.config удалить одну строчку:
<appender name="asyncAppender" type="ZXMAK2.Logging.Appenders.AsyncAppender, ZXMAK2.Logging" >
<appender-ref ref="fileAppender" />
<appender-ref ref="consoleAppender" /> <== эту строку удалить, чтобы консоль не открывалась
</appender>
если удалить строку с fileAppender, то в файл лог тоже перестанет писать.
убрал зависимость от managed directx, теперь работает напрямую с directx.
Эмулятор теперь работает в 64 битном режиме :)
Также теперь нет проблемы с LoaderLock при запуске.
Вот тестовый билд:
https://drive.google.com/file/d/1ij_nB5h2DLYbr3Y3xQPWczmOHvqMrqEH/view?usp=sharing
отлично работает.
эмулятор где-то хранит пути к файлам, есть где-то файлы настроек в папках типа с:\user... ?
эмулятор где-то хранит пути к файлам, есть где-то файлы настроек в папках типа с:\user... ?
нет, все настройки находятся в файлах с расширением *.config в папке эмулятора.
Текущие насторйки интерфейса (размер окна, опции отображения) хранятся в реестре, все в одном месте:
HKEY_CURRENT_USER\Software\ZXMAK2
Других настроек нет.
Из интересных настроек, можно задать высокую частоту дискретизации для звука.
Это повышает качество ВЧ составляющих звука.
Настройка находится в файле unity.config, в секции <container name="winforms">:
<!-- Host WinForms -->
<register type="IHostSound" mapTo="HostSound_Mdx">
<constructor>
<param name="form" />
<param name="sampleRate" value="44100" />
<param name="bufferCount" value="4" />
</constructor>
<lifetime type="transient" />
</register>
Можно поставить sampleRate = 192000
понятно, спасибо за инфу.
а что скажете насчёт улучшения управления (мой пост №1753) ?
ZEman, основная трудоёмкость тут сделать настройку для джойстика.
сделал отладочный билд для джойстика:
https://drive.google.com/file/d/1OWBizN-K2aQjEmp-pLb12GuMNdjfgtmn/view?usp=sharing
У кого есть физический джойстик, просьба протестить - заработал ли он?
И пожалуйста выложите содержимое лог файла, при работе с настроенным джойстиком.
в этих двух тестовых билдах не работает джой.
последний в котором работает 2.9.3.4.
какой именно лог-файл выложить ?
- - - Добавлено - - -
выложил лог файл из С:\Logs
ZEman, goodboy, спасибо, нашел баг - немного накосячил с маршалингом структур :)
Вот исправленый вариант:
https://drive.google.com/file/d/1Fgqjq6GOKKLfGsGiBIui7BN9nWDYu-5O/view?usp=sharing
логирование для джойстика не удалял, на случай если этот вариант тоже не заработает.
Проверьте пожалуйста джойстик с этим исправлением.
хм.. какой вредный баг :)
Обнаружилась еще одна ошибка, джойстик вычитывался как мыша. Исправил.
Исправленный вариант:
https://drive.google.com/file/d/14QhvSZe93lS25wa0fADhzZcelaK4LwYh/view?usp=sharing
а как лог выглядит с работающим джойстиком можно глянуть? (интересует последовательность инициализации и вызовов)
- - - Добавлено - - -
Подчистил код, собрал билд с последними изменениями 2.9.3.5:
https://drive.google.com/file/d/1_qkgDPe5Xj-PGQP0HIZBFzzh2N1Ptlkb/view?usp=sharing
Добавлен второй екзешник ZXMAK2-32.exe, он служит для принудительного запуска процесса в 32-битном режиме на 64 битной системе.
Можно использовать для сравнения работы в разных режимах или для теста работы в 32-битном режиме на 64 битной машине.
Для ZXMAK2.exe разрядность автоматически выбирается системой - на x64 системах он запустится в 64 битном режиме, а на x86 системах в 32 битном режиме.
Этот билд более не зависит от Managed DirectX, так что ставить его уже не нужно. Достаточно обычного DirectX.
Протестите пожалуйста джойстик в обоих режимах - в 32 и 64, т.к. некоторые ошибки могут проявляться только в одном из режимов.
В каком режиме работает процесс можно проверить в Task Manager. Возле 32 битных на 64 битной машине будет стоять отметка *32
ZXMAK, я в основном выставляю в настройках эмулятора ULA и Rom set = Delta C.
заметил одну неприятную особенность курсор как-то быстро и дёрганно мигает, так не должно быть.
джойстик работает великолепно, хотя управлять с помощью стика не очень удобно.
ZEman, могу поправить, если подскажете с какой частотой он мигал в оригинале
Тут weiv написал небольшой тест, который проверяет особенность прерываний на реальном Z80.
http://zx-pk.ru/threads/27033-prokhozhdeniya-igr-v-formate-rzx.html?p=970613&viewfull=1#post970613
И судя по нему, те эмуляторы, которые эмулируют IFF2, не всегда это делают корректно.
В ZXMAK2 и Спектакуляторе эмуляция IFF2 присутствует, но тест ldartst2.zip (http://zx-pk.ru/attachment.php?attachmentid=65700&d=1531059081) они не проходят.
Хотелось бы попросить владельцев реального железа проверить как ведут себя реальные спектрумы.
Особенно интересует вариант с родным Z80.
на 64/32 контроллер работает, но в логе про joy нет упоминаний.
и почему если joy=none из порта (#001f) читается 0 ?
на 64/32 контроллер работает, но в логе про joy нет упоминаний.
и почему если joy=none из порта читается 0 ?
в версии 2.9.3.5 я удалил лишние логи, в ней логируются только ошибки.
Проверять логи джойстика нужно на этой версии:
http://zx-pk.ru/threads/16830-zxmak2-virtualnaya-mashina-zx-spectrum.html?p=971647&viewfull=1#post971647
none - это значит никакой джойстик не подключен. Т.е. порт есть, а джойстика в нём нет.
ZXMAK, рад бы, да у меня нету спектрума уже несколько лет, только через эмули могу запускать.
[20:10:56.851][ZXVM][DEBUG] [joy.CaptureHostDevice] SetDataFormat: [HRESULT] 0x00000000 D3D_OK
[20:10:56.852][ZXVM][DEBUG] [joy.CaptureHostDevice] SetCooperativeLevel: [HRESULT] 0x00000000 D3D_OK
[20:10:56.852][ZXVM][DEBUG] [joy.CaptureHostDevice] Acquire: [HRESULT] 0x00000000 D3D_OK
[20:10:56.853][ZXVM][DEBUG] [joy.ActivateDevice] Acquire: [HRESULT] 0x00000001 S_FALSE
[20:11:13.523][1 ][DEBUG] [joy.DeactivateDevice] Unacquire: [HRESULT] 0x00000000 D3D_OK
[20:11:13.533][ZXVM][DEBUG] [joy.ActivateDevice] Acquire: [HRESULT] 0x00000000 D3D_OK
[20:11:17.461][ZXVM][DEBUG] [joy.DeactivateDevice] Unacquire: [HRESULT] 0x00000000 D3D_OK
[20:11:19.509][6 ][DEBUG] Direct3D: dispose Device, threadId=6
Spectramine
14.07.2018, 20:30
Хотелось бы попросить владельцев реального железа проверить как ведут себя реальные спектрумы.
По моей просьбе daniel уже запускал на реальных фирменных 48м и 128м, тест висит, как положено.
none - это значит никакой джойстик не подключен. Т.е. порт есть, а джойстика в нём нет.
мне кажется при none порт логичней отключать,
и похоже дешифрация его слишком полная (многие испанские игры делают опрос порта #df)
goodboy, дешифрация джойстика делается по маске 0xE0. Выборка происходит при нулях.
Настройка дешифрации портов для джойстика почему-то не прикручена. Видимо пропустил.
Для других устройств дешифрацию можно подредактировать в vmz файле, где хранится конфигурация машины.
Надо будет прикрутить и для джойстика.
А какая дешифрация для джойстика корректная для оригинальных 48к, 128к и пентагона?
Spectramine
14.07.2018, 20:45
А какая дешифрация для джойстика корректная для оригинальных 48к, 128к и пентагона?
В первой версии оригинального Кэмпстон-интерфейса дешифрация была по A5=0. В более поздних по A7=A6=A5=0. Как на Пентагоне, не знаю.
мне кажется при none порт логичней отключать,
порт отключается если устройство джойстик удалить из конфигурации.
А none нужно когда физического джойстика нет, а софт без джойстик-порта не работает или работает некорректно.
Есть такой софт.
Порт out #FE: (выборка: %nnnnnnnn XXXnX1n0)
c 0 и 1 ясно, но что означают n и X? Если X - это любое состояние, тогда что такое n? Если n - это любое состояние, то что такое X?
abelenki
15.07.2018, 03:09
ещё бы копирайт поправить с:
Copyright 2001 - 2015 Alex Makeev
на:
Copyright 2001 - 2018 Alex Makeev
;)
Вот новая версия 2.9.3.6:
https://drive.google.com/file/d/18MZEltgqHgvX4n2qR__x9EKW45VXqjFI/view?usp=sharing
- добавлен код настройки дешифрации портов, многие устройства теперь сохраняют и загружают настройки дешифрации портов в конфигурации. Их можно править текстовым редактором в vmz файле).
- covoxPentagon, CovoxScorpion и CovoxProfi удалены, вместо них добавлены более универсальные CovoxMono и CovoxStereo (настраивается вручную в vmz файле)
- исправлен баг с мерцанием всплывающего меню Wizard окна Settings при первом нажатии
- подчищен код DirectX
- обновил год в окне about :)
Немного о настройках дешифрации портов. Устройства сохраняют их в виде следующих аттрибутов:
- "noDos": если true, то порт открывается только при отключенном DOS пзу
- "mask" или "maskXXXX", где XXXX - это название порта (если их несколько) - это маска выборки. Единички в двоичном представлении указывают на биты адреса, которые учавствуют в выборке
- "port" или "portXXXX" - это собственно адрес порта
Максагор
16.07.2018, 12:17
c 0 и 1 ясно, но что означают n и X? Если X - это любое состояние, тогда что такое n? Если n - это любое состояние, то что такое X?
Все просто:
"n" - значит данная адресная линия не участвует в дешифрации вообще - эти сигналы на дешифрацию просто не идут (а значит, могут быть любыми) и ни на что не влияют.
"X" - значит, что эти значения могут изменяться в соответствии с желаниями программиста, выполняя определенные функции. Т.е. в самой дешифрации они не участвуют, но в рамках работы "сдешифрированного порта" выполняют дополнительные функции. Так, если брать порт #FE", то сброс адреса A3 устанавливает цвет бордюра в Bright 1, комбинация значений A7 и A6 выбирает тип графического режима, а A5=0 отключает ПЗУ для работы CP/M.
Аналогично следует трактовать данные символы применительно к другим портам, если такое встретится. Есть ли еще такое в АТМ1 не помню, но в АТМ2(+) такое встречается во многих портах, в частности, в портах диспетчера памяти и системном порту, где помимо шины данных для передачи параметров подобным образом участвует и шина адреса.
В первой версии оригинального Кэмпстон-интерфейса дешифрация была по A5=0. В более поздних по A7=A6=A5=0. Как на Пентагоне, не знаю.
Похоже это не так. Благодаря zebest обнаружилось, что с дешифрацией только по A5=0 на модели 48к early фейлится тест из аттачмента.
Если поставить дешифрацию по A7=A6=A5=0, то весь тест проходит без ошибок.
Я поспешил поставить дешифрацию для кемпстон джойстика только по А5, для исправления, нужно после выбора модели в vmz файле подредактировать маску порта - поставить ее равной 0xE0:
<Device type="ZXMAK2.Hardware.General.KempstonJoystick, ZXMAK2.Hardware" noDos="True" mask="0xE0" port="31" hostId="" />
Или исправить конфигурацию 48к модели в файле machines.config, тогда при выборе модели сразу правильная будет загружаться:
<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>
с маской 0xE0 для кемпстон джойстика тест проходит без проблем:
https://i.imgur.com/fgO5O7w.png
небольшое обновление - версия 2.9.3.7:
https://drive.google.com/file/d/1h_JYJFU3KLn9hxF37AUQNmVoRsE0veAK/view?usp=sharing
версия 2.9.3.7 light (минимизированная, удален код под XNA платформу и отладчик Adlers):
https://drive.google.com/file/d/1dnkjnQloH_1QMT6Gfg-uPGHPF4xbYEMY/view?usp=sharing
исходный код 2.9.3.7 (включая библиотеки aforge и обновлённый ZXMAK2.Media):
https://drive.google.com/file/d/1z8gF4479So8WaR165YHCgHw7yxo1JgkB/view?usp=sharing
В этой версии в основном мелкие исправления. Включая исправление для дешифрации джойстик порта Spectrum 48k.
Сравнил скорость, по сравнению с версиями выложенными на codeplex, скорость увеличилась примерно на 20-40%.
Неплохо получилось.
Просьба проверить как работает джойстик. И не зависает ли процесс при закрытии эмулятора после использования джойстика.
В старых версиях на MDX был такой баг, эта версия включает его исправление.
Еще было бы интересно узнать, как работает на ARM процессорах (на планшетах с ARM процессором).
Bedazzle
19.07.2018, 07:33
Еще было бы интересно узнать, как работает на ARM процессорах (на планшетах с ARM процессором).
Это же не андроидные, да? :(
джойстики хорошо работают, ничего не зависает.
есть правда одно но.
у меня на джойстике управление ставится на аналоговый стик - а хотелось бы чтоб на крестовине было, а то играть жутко неудобно.
ну и также нужна опция чтоб управление могло передаваться на стрелки и какую-нибудь клавишу (тяжело играть на 6,7,8,9,0).
Black Cat / Era CG
19.07.2018, 20:51
ну и также нужна опция чтоб управление могло передаваться на стрелки и какую-нибудь клавишу (тяжело играть на 6,7,8,9,0).
JoyToKey (https://joytokey.ru.uptodown.com/windows)? Или не винда?
JoyToKey? Или не винда?
запускать эмулятор в эмуляторе ?
нет, спасибо.
abelenki
20.07.2018, 14:34
запускать эмулятор в эмуляторе ?
нет, запускать обе программы в Windows.
Перенёс эмулятор на github: https://github.com/zxmak/ZXMAK2 :)
Black Cat / Era CG
21.07.2018, 12:31
запускать эмулятор в эмуляторе ?Почему? На том же хосте, что и сам zxmak2, то да, на винде.
Rubts0FF
21.07.2018, 18:59
Вставляю 4 диска в 4 дисковода. С A - все загружается и работает в дальнейшем, при попытке выбрать другой дисковод (B-D) - No Disk! То есть, само устройство есть, а вот диска в нем не видит. Печально это.
Rubts0FF, хм... действительно есть такой баг, раньше работало
Исправление для этого бага добавлено на гитхабе, в следующем релизе всё должно работать.
Зарелизил исправленную версию 2.9.3.8: https://github.com/zxmak/ZXMAK2/releases/tag/v2.9.3.8
- Исправлена поддержка работы с несколькими дисководами
- Добавлена поддержка загрузки Intel HEX файлов в память (полезно, если компилятор выдает на выходе Intel HEX)
Rubts0FF
23.07.2018, 09:09
О! Оперативно, спасибо. И .., раз пошла такая .., я с пожеланиями, в который раз ищу альтернативу эмулятора Шалаева, ну очень мне в нем удобно, но на нынешних компьютерах он совершенно немой, ни тебе бип, ни тем более ау. Кандидат вроде бы просматривается, но к пожеланиям. Клавиатура, можно ли сделать, может я просто не знаю как, что бы PGDN, PGUP работали и CapsLock работал как CapsLock, а TAB мог бы быть CS+SS. Лучший вариант что бы каждый мог себе все, ну пусть не все, кнопки переопределить.
И хорошо бы сохранять диски/образы при записи на диск, изменилось содержимое диска - изменилось содержимое файла .trd.
А пока буду обживать дальше.
Так, спасибо я уже говорил.
Клавиатура, можно ли сделать, может я просто не знаю как, что бы PGDN, PGUP работали и CapsLock работал как CapsLock, а TAB мог бы быть CS+SS. Лучший вариант что бы каждый мог себе все, ну пусть не все, кнопки переопределить.
можно, в файле Keyboard.config задаётся соответствие кнопок спектрума кнопкам компа.
Там просто - в Condition указаывается одна кнопка, любой из сработавших Condition приведет к нажатию кнопки.
А MultiCondition - это срабатывание кнопки только когда все условия внутри MultiCondition срабатывают.
Например чтобы нажималась спектрум кнопка 1 при нажатии на Tab ИЛИ на левый шифт, нужно такое условие прописать:
<KeyBinding Key="D1">
<Condition Key="Tab"/>
<Condition Key="LeftShift"/>
</KeyBinding>
все упоминания Tab и "LeftShift" в других спектрум кнопках желательно удалить, чтобы они тоже не срабатывали.
А если нужно чтобы спектрум кнопка 1 нажималась при нажатии на Tab И левый шифт, то так:
<KeyBinding Key="D1">
<MultiCondition>
<Condition Key="Tab"/>
<Condition Key="LeftShift"/>
</MultiCondition>
</KeyBinding>
И хорошо бы сохранять диски/образы при записи на диск, изменилось содержимое диска - изменилось содержимое файла .trd.
так оно и так сохраняется - при закрытии эмулятора, смене диска или конфигурации.
Rubts0FF
23.07.2018, 15:31
так сохраняется - при закрытии эмулятора - Это да, но во первых просит подтверждения, а во вторых, и это самое главное, закрытие бывает аварийное, не обязательно глюки самого эмулятора, windows или просто выключили свет. Когда играешь в игру - тоже конечно жалко, но с другой стороны лишний повод поиграть еще. Когда пишешь программу ... .
Насчет клавиатуры - спасибо, буду пробовать.
- Это да, но во первых просит подтверждения, а во вторых, и это самое главное, закрытие бывает аварийное, не обязательно глюки самого эмулятора, windows или просто выключили свет. Когда играешь в игру - тоже конечно жалко, но с другой стороны лишний повод поиграть еще. Когда пишешь программу ... .
на самом деле лучше сделать настройку в эмуляторе - запись на диск.
поставил галочку - будет производить запись.
нет - не будет.
в противном случае можно повредить образы или утратится их первозданность.
Bedazzle
23.07.2018, 21:06
на самом деле лучше сделать настройку в эмуляторе - запись на диск.
поставил галочку - будет производить запись.
нет - не будет.
в противном случае можно повредить образы или утратится их первозданность.
а read only не учитывается?
Для этого галочка Read Only есть. Для большей надёжности можно октрывать образы из zip архивов.
Запись в файлы находящиеся в zip архиве специально не реализована, чтобы была возможность надёжно предохранить образы от записи.
Поэтому при открытии образа из zip архива, галочка Read Only всегда включена и отключить её нельзя
Немного почистил сборку, удалил nuget, чтобы не тянуло мусор из инета
О боже, зачем? Хранить здоровенные бинари в гите - это примерно самое худшее, что можно сделать с гитом. Объем репозитория будет расти на десятки мегабайт при каждом обновлении версий библиотек. Собственно, в том числе для того nuget и придумали, во времена svn/tfs такой проблемы не стояло.
Получился битый репозитарий https://github.com/atsidaev/ZXMAK2/tree/master/ZXMAK2.Engine.Cpu/Processor
Тут 2в1, т.е. текущая версия и по всей видимости до какого рефакторинга
Он не битый, там всё компилируется. Артефакты были только в файловой системе, а в сам проект были включены только нужные файлы.
Я обновил репо, почистив его и включив туда последние изменения из zxmak/ZXMAK2. Не знаю, правда, есть ли смысл его дальше поддерживать, учитывая, что появился официальный репозиторий. Но 1031 коммит, однако. Хотя бы из любви к истории можно.
Eltaron, библиотеки ни разу не обновлялись. Смысла прикручивать nuget, который замедляет компиляцию скачиванием множества ненужных файлов не вижу. Были какие-то проблемы при сборке, подозрения упали на nuget и я его удалил. Ошибка тогда оказалась в скрипте сборки, которая каким-то образом вылазила боком на nuget-е (глюки MSBuild). Но возвращать nuget не стал, без nuget собирать приятней.
Прошу прощения за баян, но читка форума не перенесло понимание.
Вопрос про кнопку включения турбо режима "Maximum Speed".
Как я понял схема реализации турбо режима не позволят отобразить быстродействие в тестах, у меня они вообще не реагируют на эту кнопку.
Какая скорость сейчас стоит для "Profi 5.х"? Можно ли (и как) её настраивать?
Планируется ли поддержка иных музыкальных плат, кроме ковакс? В частности GS.
А так же меня интересует эмуляция "Profi 5.06".
Чем отличаются ZXMAK2 или ZXMAK.NET? Что лучше выбрать для Profi?
Не долгий опыт общения с ZXMAK2, вызвал исключительно положительные эмоции. Спасибо за труд!
кроме ковакс?
https://cs9.pikabu.ru/post_img/2018/03/06/8/1520341700125599525.jpg
Платка называлась ковОкс)
В Профи 5.0x не работает кемстон мышка. Не двигается курсор, но есть реакция на кнопки, файлы выделяться/запускается (если они попадают под неподвижный курсор).
Куда рыть?
Вопрос про кнопку включения турбо режима "Maximum Speed".
Maximum Speed просто убирает задержки для синхронизации и эмуляция работает на максимальной скорости (скорость немного зависит от обновления экрана, т.к. периодически экран обновляется). На эмулируемой машине это абсолютно никак не отражается. Используется, если нужно быстро прокрутить длительный код.
Какая скорость сейчас стоит для "Profi 5.х"? Можно ли (и как) её настраивать?
нет, можно только в исходниках подкорректировать число тактов на фрейм.
Планируется ли поддержка иных музыкальных плат, кроме ковакс? В частности GS.
Когда то хотел сделать GS, в исходниках даже файлы с заготовками сохранились, но как он работает я не знаю, поэтому сделать не могу.
Чем отличаются ZXMAK2 или ZXMAK.NET?
ZXMAK.NET это был переходной вариант между древним ZXMAK и ZXMAK2. Первая версия на дотнете.
Что лучше выбрать для Profi?
последняю версию
- - - Добавлено - - -
В Профи 5.0x не работает кемстон мышка. Не двигается курсор, но есть реакция на кнопки, файлы выделяться/запускается (если они попадают под неподвижный курсор).
Куда рыть?
возможно порт для мыши неправильно задана дешифрация портов. Её можно подредактировать вручную в файле конфигурации машины ZXMAK2.vmz.
На время редактирования эмулятор нужно закрыть, чтобы он не переписал файл поверх ваших изменений.
Найти вот эту строку и поправить текстовым редактором:
<Device type="ZXMAK2.Hardware.General.KempstonMouseDevice, ZXMAK2.Hardware" noDos="True" maskX="65535" portX="64479" maskY="65535" portY="65503" maskB="65535" portB="64223" />
noDos="True" - означает что мышь отключается при активации DOS пзу, чтобы DOS пзу не влияло нужно задать "False"
maskX="65535" - задаёт маску выборки порта, в данном случае 0xFFFF
portX="64479" - значение адреса порта регистра X мыши, в данном случае 0xFBDF
maskY и portY - маска и порт регистра Y мыши
maskB и portB - маска и порт регистра кнопок мыши
Значение маски и порта можно задавать в десятичной форме или в шестнадцатиричной. Для шестнадцатиричной формы можно использовать как префикс 0x (как в С++), так и префикс # (спектрум стиль). Например "0xFBDF", "#FBDF" и "64479" - это всё одно и то-же значение.
Maximum Speed просто убирает задержки для синхронизации и эмуляция работает на максимальной скорости (скорость немного зависит от обновления экрана, т.к. периодически экран обновляется). На эмулируемой машине это абсолютно никак не отражается. Используется, если нужно быстро прокрутить длительный код.
Управление становиться практически не возможным, так как на одно нажатие идёт куча срабатываний :)
Когда то хотел сделать GS, в исходниках даже файлы с заготовками сохранились, но как он работает я не знаю, поэтому сделать не могу.
Жаль...
возможно порт для мыши неправильно задана дешифрация портов. Её можно подредактировать вручную в файле конфигурации машины ZXMAK2.vmz.
На время редактирования эмулятор нужно закрыть, чтобы он не переписал файл поверх ваших изменений.
Найти вот эту строку и поправить текстовым редактором:
<Device type="ZXMAK2.Hardware.General.KempstonMouseDevice, ZXMAK2.Hardware" noDos="True" maskX="65535" portX="64479" maskY="65535" portY="65503" maskB="65535" portB="64223" />
noDos="True" - означает что мышь отключается при активации DOS пзу, чтобы DOS пзу не влияло нужно задать "False"
maskX="65535" - задаёт маску выборки порта, в данном случае 0xFFFF
portX="64479" - значение адреса порта регистра X мыши, в данном случае 0xFBDF
maskY и portY - маска и порт регистра Y мыши
maskB и portB - маска и порт регистра кнопок мыши
Значение маски и порта можно задавать в десятичной форме или в шестнадцатиричной. Для шестнадцатиричной формы можно использовать как префикс 0x (как в С++), так и префикс # (спектрум стиль). Например "0xFBDF", "#FBDF" и "64479" - это всё одно и то-же значение.
Посоле дополнительных тестов поправка.
Не работает только в режиме PROFI, в TR_DOS всё работает без замечаний.
У Profi ещё есть мышка под COM порт, но у тебя нет его поддержки.
А можно пару хотелок?
* Можно на панель добавить выбор образа для дисков A:, B:? Очень далеко лезть для смены образа.
* Так же ввести понятие "не сколько последних открытых образов". Образы могут быть разбросанный по папкам, очень много беготни.
* Также добавить кнопку сброса образа хотя бы для диска A:. Для сброса диска, приходиться открыть несколько меню.
* По умолчанию все образы открываются только для чтения, можно это изменить. Забыл убрать галочку, эмулятор повис на попытке записи, n'ый объем работ коту под хвост. Всё равно запись отложенная.
* И такой "косячёк", когда нажимаешь кнопки F1-F12, реакция идет как эмуляторе (что правильно), так и в оболочке. Например, вызывается главное меню.
Актуально в CP/M которая знает о таких кнопках. Сделай плз, опционное отключение горячих кнопок в главном меню.
* ОС PQ-DOS (разработанная Вадимом Чертковым) не работает от слова "ни как". Просто виснет при старте. Проверял со стартом с дискет и из специального ПЗУ. Можно это поправить?
* И такой "косячёк", когда нажимаешь кнопки F1-F12, реакция идет как эмуляторе (что правильно), так и в оболочке. Например, вызывается главное меню.
Актуально в CP/M которая знает о таких кнопках. Сделай плз, опционное отключение горячих кнопок в главном меню.
двойным кликом в окне включается эксклюзивный режим мыши и клавиатуры. Курсор мыши при этом пропадает. Выход из этого режима по нажатию Alt+Ctrl
* ОС PQ-DOS (разработанная Вадимом Чертковым) не работает от слова "ни как". Просто виснет при старте. Проверял со стартом с дискет и из специального ПЗУ. Можно это поправить?
скорей всего из-за глюков эмуляции контроллера дисковода. Можно попробовать режим WD93 no delays, бывает помогает
solegstar
27.10.2018, 12:01
* ОС PQ-DOS (разработанная Вадимом Чертковым) не работает от слова "ни как". Просто виснет при старте. Проверял со стартом с дискет и из специального ПЗУ.
а дискета именно для PQ-DOS? Специальное ПЗУ - это ПЗУ с сервисом 2.1 или BIOS от Вадима?
а дискета именно для PQ-DOS?
С дискетами такая история.
Если брать диска на которых ещё Q-Dos, то они грузятся, но винчестер не видят (хотя для 100% уверенности нужно провести ещё один тест, на одно из дискет я видел драйвер HDD, но не понял грузиться ли он при старте системы).
А вот образы дискет которые прислал мне Вадим с последней версией PQ-Dos, не грузятся. Просто черный экран. Режим "WD93 no delays" пробовал включать, разницы нет.
Специальное ПЗУ - это ПЗУ с сервисом 2.1 или BIOS от Вадима?
ПЗУ с сервисом 2.1 грузиться без проблем, но образ винчестера от Вадима, запускать не хочет.
Все эксперименты с дискетами провожу именно с этим ПЗУ.
А вот БИОС от Вадима не грузиться вообще. При его подключении по центру экрана, почти во весь экран появляться ч/б прямоугольник, равномерно заполненный вертикальными полосками. При этом стандартная версия Унреал ведет себя почти так же. Вадима присылал, мне специально доработанную версию.
Отмечу что БИОС от Вадима имеет размер 128кб.
- - - Добавлено - - -
двойным кликом в окне включается эксклюзивный режим мыши и клавиатуры. Курсор мыши при этом пропадает. Выход из этого режима по нажатию Alt+Ctrl
Спасибо! То что нужно.
Doronetty
28.10.2018, 22:05
Titus, спасибо за упоминание любимого перса Corvax! (блин, ну здесь же собрались кому +-40, что же никто не плюсует, Muzzy in Gondoland неужели все забыли?!)
Можно до кучи ещё хотелок?
1. В CP/M у IBM клавы при нажатии Scroll должны переключаться режимы ввода ЯВЕРТЫ и ЙЦУКЕН. Пока иного способа включить ЙЦУКЕН нет, что обидно и не удобно.
2. Очень не приятное соседство кнопок "ускорение" и "сброса". Промахиваешься иногда. Можно сброс увести вообще к правому краю окна, для безопасности.
3. При работе дисковода или винчестера в верхнем право углу появляется пиктограмма информирующая об этом. Можно сделать то же при включении максимальной скорости (информацию, что она включена)? Было бы удобно в полно экранных режимах.
Неожиданно при запуске начал получать сообщение "System.DllNotFoundException: Не удается загрузить DLL "d3dx9_43": Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E)"
[bETA]mEN
19.07.2019, 03:36
Не удается загрузить DLL "d3dx9_43": Не найден указанный модуль.
Переустановка DirectX не помогает?
https://www.microsoft.com/ru-ru/download/search.aspx?q=directx
abelenki
19.07.2019, 06:08
Неожиданно при запуске начал получать сообщение "System.DllNotFoundException: Не удается загрузить DLL "d3dx9_43": Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E)"
установи DX 9:
https://www.microsoft.com/en-us/download/details.aspx?id=8109
Найдена ошибка в отображении расширенной палитры на Профи. Не учитывается третий бит в цвете. То есть его включение, отключение ни как не влияют на цвет. Есть программа установки палитру, где это явно видно.
Как следствие цветов всего 192 и есть искажения цветов при выводе на экран.
https://www.imageup.ru/img199/3459228/2019-07-12_11-21-04.jpg (https://www.imageup.ru/img199/3459228/2019-07-12_11-21-04.jpg.html)
tae1980, как это можно проверить? Если подскажете как проверить и как должно работать, исправлю
tae1980, как это можно проверить? Если подскажете как проверить и как должно работать, исправлю
Работать должна как стандартная палитра 332, то есть значения цветов должны быть 7 7 3.
Проверить работу можно через программу Palet. Она позволяет устанавливать палитру включая/выключая пиксели и визиализирует процесс. Ранее скриншоты привел из неё. Здесь архив с файлами. https://yadi.sk/d/-jYHh8QYYsK6qw Если нужна в образе диска, кину.
Так же есть фотографии с реала, правда не очень хорошего качества, так как с телефона, но изменения цветов уловить можно.
https://www.imageup.ru/img200/3462188/7trii8nwfim.jpg (https://www.imageup.ru/img200/3462188/7trii8nwfim.jpg.html)
https://www.imageup.ru/img200/3462189/62u-vt7iy5o.jpg (https://www.imageup.ru/img200/3462189/62u-vt7iy5o.jpg.html)
https://www.imageup.ru/img200/3462190/gdgnnjsbzqg.jpg (https://www.imageup.ru/img200/3462190/gdgnnjsbzqg.jpg.html)
https://www.imageup.ru/img200/3462191/hxu15clqvmi.jpg (https://www.imageup.ru/img200/3462191/hxu15clqvmi.jpg.html)
Есть так же фотографии с картинка, на которых видно, что в эмуляторе искажены цвета, а на реале нет. Но думаю они не нужны.
Что нибудь ещё?
сделайте образ диска, чтобы его можно было сразу открыть и запустить
сделайте образ диска, чтобы его можно было сразу открыть и запустить
https://yadi.sk/d/CwHfQC81F9JNEA
Там файлы под все возможные режимы.
Ошибку в отображении цвета в расширенной палитре можно хорошо увидеть на файле "steng.grf"
Можно собрать образ с файлами только под расширенную палитру.
Там файлы под все возможные режимы.
Ошибку в отображении цвета в расширенной палитре можно хорошо увидеть на файле "steng.grf"
Можно собрать образ с файлами только под расширенную палитру.
образ загружается, но прогрммы palet в нём не нашёл. Что касается картинок, как они должны выглядеть я не знаю. Поэтому сами файлы мне мало о чём говорят.
Для проверки всётаки лучше текстовый режим, чтобы можно было по отдельности цвета проверить, т.к. в каше картинки цвета сравнивать проблематично, даже при наличии картинки как оно должно выглядеть.
И просто программа или файл мне мало о чём говорят, нужна программа и фотография как эти цвета должны выглядеть. Иначе понять где ошибка нереально. Это примерно как смотреть в калейдоскоп и пытаться угадать какой цвет неправильно показывается :)
Вот например какой-то цвет зелёным показывает. Как я угадаю что он должен быть красным, а не зелёным? Без сравнения с тем как это должно быть это невозможно.
- - - Добавлено - - -
Ошибку в отображении цвета в расширенной палитре можно хорошо увидеть на файле "steng.grf"
вроде всё нормально, выглядит реалистично, что не так?
https://i.imgur.com/2mCGI3V.png
ZXMAK, тупонул. Вот доложил palet.com https://yadi.sk/d/CwHfQC81F9JNEA
Выглядеть картинка должна вот так
https://imageup.ru/img121/3498018/2019-10-27_09-17-33.png (https://imageup.ru/img121/3498018/2019-10-27_09-17-33.png.html)
Вообще SteinBlume цвета показывает правильно.
Наиболее хорошо ошибка цвета видно на картинка в градации серости. Так как сдвиг цвета очень хорошо выделяется на общем фоне, тогда как на полноцветных, он сглаживается другими цветами. Я даже понял, что он вообще есть только через почти полгода год работы над "img2grf".
Могу набрать с 3, 4 картинки где сдвиг цвета проще заметить.
Если я правильно разобрался в ситуации, то:
Стандартные перевод цветов такой:
r8=format(rrr*(7/255),,0) /* 24bpp в 8bpp */
g8=format(ggg*(7/255),,0)
b8=format(bbb*(3/255),,0)
Получал такие же неправильные цвета когда экспериментировал с палитрой и ограничивал цвета на значении 6. То есть так:
r8=format(rrr*(6/255),,0)
g8=format(ggg*(6/255),,0)
b8=format(bbb*(3/255),,0)
Bedazzle
27.10.2019, 10:28
А как поставить точку останова?
В хелпе по поводу дебаггера очень лаконично:
Debugger Shortcuts
When in debugger window you can use following shortcuts:
F3 - Reset speccy
F5 - Stop/Pause
F10 - Run
F7 - Step Into
F8 - Step Over
F12 - switch between Stack/Breakpoints list
Также окошко дебаггера в хелпе и в версии, что здесь пробегала 2.9.3.8 отличаются, и F12 ничего не переключает.
https://i.ibb.co/1ZdtvL1/2019-10-27-09-20-05-zxmak.png
А как поставить точку останова?
Двойной клик слева от адреса (в том столбце, где зеленая стрелка на скриншоте).
А хелп на самом деле посвящен тому отладчику, который сейчас называется "DEBUGGER ADLERS". Чтобы его включить, надо в VM - Settings добавить в эмулятор его вместо обычного "DEBUGGER"
Bedazzle
27.10.2019, 15:42
Двойной клик слева от адреса (в том столбце, где зеленая стрелка на скриншоте).
А хелп на самом деле посвящен тому отладчику, который сейчас называется "DEBUGGER ADLERS". Чтобы его включить, надо в VM - Settings добавить в эмулятор его вместо обычного "DEBUGGER"
О, спасибо, заработало.
Как-то блин совсем неочевидна настройка. :\
Как-то блин совсем неочевидна настройка. :\
Да, там исторически так сложилось. Изначально Adlers просто доработал стандартный отладчик и, соответственно , написал хелп. А потом его версию выделили в отдельный плагин, а отладчиком по-умолчанию вернули исходный, тот, что сейчас. А хелп остался.
да, стандартный отладчик остался в качестве легковесного и проверенного в боях :) на нём много кода с таймингами было продебажено и все баги с таймингами из-за пошагового исполнения и ручной подстройки таймингов вылизаны, поэтому в него никаких изменений не вносилось, т.к. можно чтото легко сломать.
Debugger Adlers делал другой человек - Adlers, что там я сильно не вникал, т.к. мне хватало дефолтного. Он там начал подключать бинарники с компилятором и это плохо вязалось с безопасностью, поэтому бинарники были отрезаны, насколько отладчик Adlers сейчас работает сказать не могу.
Хотел сделать новый отладчик, то что успел можно увидеть в DEBUGGER EX. Хотелось чтобы все эти плавающие панели работали и на linux, но компонент глючный. На его багах застрял - убил кучу времени, но добиться нормальной работы панелей в linux так и не получилось, только зря кучу времени потратил. На этом и заглохло :(
Вобщемто практически весь функционал дефолтного отладчика был перенесён в DEBUGGER EX, можно использовать. Даже список точек останова появился и посимпатичней выглядит. Но доделать так и не успел.
Брейкпоинты ставятся мышью на пустом пространстве слева от адреса инструкций, как выше Eltaron написал.
Самая вкусная фишка дефолтного отладчика - это возможность установить любой такт кадра в любой момент и всё это корректно будет разрулено. Для этого нужно остановить исполнение и кликнуть на ftmT - это текущий такт кадра. Ни в одном другом эмуляторе такое корректно не работает. Например спектакулятор почти позволяет это сделать, но в нём нарушается состояние после смены номера кадра и следующее прерывание сработает не вовремя.
Управление в дефолтном отладчике:
F5 - stop
F9 - start
F7 - step into
F8 - step over
да, для смены дебаггера нужно удалить устройство Debugger и добавить новое.
Всего имеется 5 разных дебагеров:
1) DEBUGGER - это дефолтный (тот что у вас на скрине)
2) DEBUGGER ADLERS - это альтернативный дебагер от Adlers (тот что на картинке в хелпе)
3) DEBUGGER EX - это новый вариант дебагера, который я делал последнее время
4) DEBUGGER SPRINTER - это отладчик для спринтера со своей спецификой
5) GDB-Z80 SERVER - эмулятор выступает в роли GDB сервера для подключения внешним GDB отладчиком.
GDB cервер слушает порт 2000.
Новый отладчик (4) выглядит вот так:
https://i.imgur.com/xZJsIe2.png
Всё работает, панели можно тягать, отклеивать, приклеивать, регистры можно редактировать, только скролы и загрузку сохранение блоков не прикрутил, да и под линуксом при тягании панелей может подвиснуть.
Привет
Я давно не был здесь. Я прочитал всю тему и увидел, что эмуляция звука AY и Covox была улучшена. Прошло 5 лет, как я просил (https://zx-pk.ru/threads/16830-zxmak2-virtualnaya-mashina-zx-spectrum.html?p=756691&highlight=#post756691) добавить поддержку VI53 для Byte48.
ZXMAK - есть ли у вас время и желание добавить поддержку VI53 сейчас?
Ну тогда заодно хотя бы 4 из 6-ти проваленных тестов исправить, за два первых - молчу уж))
https://spectrumcomputing.co.uk/forums/viewtopic.php?f=23&t=752&start=50#p28453
И мой пулл-реквест про Кворум-64 принять :)
Bedazzle
27.11.2019, 14:28
Ну тогда заодно хотя бы 4 из 6-ти проваленных тестов исправить, за два первых - молчу уж))
https://spectrumcomputing.co.uk/forums/viewtopic.php?f=23&t=752&start=50#p28453
А сам тест где можно взять? По-быстренькому потыкал, там длинные треды, и сразу не нашёл.
А сам тест где можно взять? По-быстренькому потыкал, там длинные треды, и сразу не нашёл.
Так в первом посте того треда ссылка: https://www.dropbox.com/s/33he0chzu6v7xym/z80test-1.0.zip?dl=0
Bedazzle
27.11.2019, 22:44
Так в первом посте того треда ссылка: https://www.dropbox.com/s/33he0chzu6v7xym/z80test-1.0.zip?dl=0
Вот там-то я и не посмотрел, зато в другие треды полез. :) :) :)
Спасибо!
ZXMAK, Можно ли узнать ситуацию с исправлением ошибки отображения палитры 256 цветов для расширенного экрана Профи?
ZXMAK, Можно ли узнать ситуацию с исправлением ошибки отображения палитры 256 цветов для расширенного экрана Профи?
Я вроде нашел, где собака порылась (https://github.com/atsidaev/ZXMAK2/commit/5822c8f6cee054269b8eb1c6c44dc12cf79f0d0d)
Попробуй https://github.com/atsidaev/ZXMAK2/releases/download/v2.9.3.8-fixprofi/zxmak2-2.9.3.8-fixprofi.zip
Rubts0FF
23.01.2020, 10:05
А что можно/нужно сделать что бы была доступна ПЦ - клавиатура более/менее. Например PgUp/PgDn, Delete/Backspace, Home/End. И что бы CapsLock работал как CapsLock, а на TAB - CS+SS, вместо непонятной "I", ну и на "`" - хорошо бы CS+1 [EDIT]. Да, CapsShift на SHIFT это ладно, хотелось бы SymbolShift подвесить на CTRL, лучше ALT.
Изменения в дисках записываются не сразу, но хотя бы без "File Exists". И очень приятно, что после выхода из ZXMAK2 диски остаются в дисководах.
Еще .., может я уже забыл как оно в действительности, но кажется TR-DOS слишком тормозит.
Да, все претензии, претензии, никакой благодарности. Спасибо.
Попробуй https://github.com/atsidaev/ZXMAK2/r...8-fixprofi.zip
При старте вылетает консольное окно с сообщением: ConsoleWindow: stdout will be redirected from 1488 for application needs.
В основном окне, можно отрыть настройки и настроить всё на Профи. Выбираю загрузочный образ *.pro (https://yadi.sk/d/yf2tAJCIdxNNrQ) И эмулятор виснет на попытке с него загрузиться (черный экран).
При старте вылетает консольное окно с сообщением: ConsoleWindow: stdout will be redirected from 1488 for application needs.
В основном окне, можно отрыть настройки и настроить всё на Профи. Выбираю загрузочный образ *.pro И эмулятор виснет на попытке с него загрузиться (черный экран).
При наличии у меня некоторого количества Профи-ков - все же я ленивый пользователь , и мне более по душе эмуу-ляторы. (мечтаю об эмуле в ФПГА :)
Так вот
https://s.micp.ru/7QJ93.jpg
Слева оригинальный эмуль (правые квадратики как бы поярче?), справа - последняя сборка, та, что выше. Консольное окно то жи прилагаю, но это возможно из-за двух мониторов так пишет.
А в чем то разниЦЦа должна быть? На пальцах ежели?
эмулятор виснет на попытке с него загрузиться (черный экран).
Даже начальный экран профика не показывает?
Слева оригинальный эмуль (правые квадратики как бы поярче?), справа - последняя сборка, та, что выше. Консольное окно то жи прилагаю, но это возможно из-за двух мониторов так пишет.
А в чем то разниЦЦа должна быть? На пальцах ежели?
Включи квадратик 1G, например, слева и справа. Слева ничего не изменится. Справа цвет станет поярче.
О, я тут понял, что не совсем верно сделал конверсию цвета, у меня ярко белый получился 11111111, а ведь должен быть 11011011.
- - - Добавлено - - -
Пофиксил https://github.com/atsidaev/ZXMAK2/releases/download/v2.9.3.8-fixprofi2/ZXMAK2-BIN-2938-fixprofi2.zip
Даже начальный экран профика не показывает?
Да. Виснет при попытке прочитать диск. БИОС работает нормально.
Вылечил полностью пересоздав машину с помощью Wizard. До этого копировал новые файлы поверх старых.
В фикс2 пропало текстовое окно.
Реакция на третий бит есть. Из замечаний, на картинка белый цвет отдаёт жёлтизной.
https://imageup.ru/img83/thumb/2020-01-23_21-59-523541772.jpg (https://imageup.ru/img83/3541772/2020-01-23_21-59-52.png.html)
https://imageup.ru/img83/thumb/2020-01-23_22-01-593541773.jpg (https://imageup.ru/img83/3541773/2020-01-23_22-01-59.png.html)
Попробовал фикс 1, так как лечение проблемы найдено.
Нареканий по цвету нет вообще. Идеально!
https://imageup.ru/img83/thumb/2020-01-23_22-14-563541777.jpg (https://imageup.ru/img83/3541777/2020-01-23_22-14-56.png.html)
Так что это скорее всего верно для белого цвета из палитры Спектрума, а в расширенной палитре Профи, максимально яркий белый цвет 11111111
О, я тут понял, что не совсем верно сделал конверсию цвета, у меня ярко белый получился 11111111, а ведь должен быть 11011011.
Попробовал фикс 1, так как лечение проблемы найдено.
Нареканий по цвету нет вообще. Идеально!
Так а может SteineBlume неверно выводит? Нельзя ли сфотографировать, как оно на реале выглядит?
Меня что смущает - в palet.com ярко-белый - это именно 11011011. Оно и логично, ведь раз биты означают g4g2g1r4r2r1b4b2, то отсутствующий младший бит синего b1 всегда 0. Что означает, что для получения цвета на диагонали цветового куба (ну т.е. цвета, у которого R=G=B) мы должны и r1 и g1 тоже занулить.
- - - Добавлено - - -
И вот ещё какое дело
https://b.radikal.ru/b10/2001/fc/e68e1985c120.png (https://radikal.ru)
Видно, что второй бит любого цвета везде подмешивается через резисторы одинакового номинала (510).
Первый тоже через одинаковые (килоомы).
Доступный через палитру нулевой бит есть только у G и R, он подмешивается через 2K. А нулевой бит синего всегда нулевой (стрелкой отмечено), но и тут 2К.
То есть цвета намешиваются совершенно равномерно и одинаково для всех каналов.
Что значит, что белый цвет - это всё-таки 11011011, потому что 11111111 даст заметный уклон в желтизну (зеленого и красного будет больше, чем синего).
Нельзя ли сфотографировать, как оно на реале выглядит?
Исходная картинка, без какой либо обработки.
https://imageup.ru/img83/thumb/stengpqgzty3541792.jpg (https://imageup.ru/img83/3541792/stengpqgzty.jpg.html)
Меня что смущает - в palet.com ярко-белый - это именно 11011011
А тогда какой цвет 11111111? Ведь по битам он возможен.
В литературе есть такое: "Так как синяя компонента представлена всего 2-я битами, то считается, что у нее есть младший бит, но он равен всегда 0. Т.е. если мы задаем значение синей компоненты в 11 (т.е. десятичное 3), то для получения белого цвета зелёная и красная компоненты должны быть заданы в значение 110 (десятичное 6). И байт палитры соответствующий белому цвету будет выглядеть как 11011011"
Убил несколько месяцев на анализ этого вопроса. Как быть, если принять, что 11011011 на Профи == 11111111 на IBM PC? Если рассматривать в лоб, то часть значение цветов на Профи ушли в следующий спектр. И как с этим работать? Я даже примерных формул найти не смог. Спрашивал у профессиональных дизайнеров, они только руками разводят, мол мы не программисты, программы всё сами делают.
На текущий момент, принял такое решение, если да же цвета переходят в следующий спектр, то условный зеленый остается зеленым, только меняет насыщенность цвета. По этому "волевым решением" приравнял 11111111 на Профи к 11111111 на IBM PC (RGB332). Все встало более, и можно использовать стандартные формулы для перевода цветов. Моё Профик всё ни как не вернётся из ремонта (процесс затянулся). Но по моей просьбе человек проверял на реальном Профике - цвета адекватные (точнее казать сложно), а сама картинка на телевизоре через скарт лучше, чем в эмуляторе на жк мониторе (ну нет у меня места для лучевого монитора :((. Есть фотки с телефона, но весьма посредственного качества.
https://imageup.ru/img83/thumb/b06lvcspxqs3541800.jpg (https://imageup.ru/img83/3541800/b06lvcspxqs.jpg.html)
https://imageup.ru/img83/thumb/dlp2ztxpvja3541801.jpg (https://imageup.ru/img83/3541801/dlp2ztxpvja.jpg.html)
https://imageup.ru/img83/thumb/kc18_6pk-rs3541802.jpg (https://imageup.ru/img83/3541802/kc18_6pk-rs.jpg.html)
https://imageup.ru/img83/thumb/nax_stmy9q03541803.jpg (https://imageup.ru/img83/3541803/nax_stmy9q0.jpg.html)
Исходная картинка, без какой либо обработки.
https://imageup.ru/img83/thumb/stengpqgzty3541792.jpg (https://imageup.ru/img83/3541792/stengpqgzty.jpg.html)
А сконверчена она вашим конвертором? Раз в нем белый - это 11111111, то ничего не удивительно.
А тогда какой цвет 11111111? Ведь по битам он возможен.
Желтый. Видимо такой, какой тут фон:
https://imageup.ru/img83/thumb/2020-01-23_21-59-523541772.jpg
В литературе есть такое: "Так как синяя компонента представлена всего 2-я битами, то считается, что у нее есть младший бит, но он равен всегда 0. Т.е. если мы задаем значение синей компоненты в 11 (т.е. десятичное 3), то для получения белого цвета зелёная и красная компоненты должны быть заданы в значение 110 (десятичное 6). И байт палитры соответствующий белому цвету будет выглядеть как 11011011"
Вот, именно до этого мы и дошли по схеме.
Убил несколько месяцев на анализ этого вопроса. Как быть, если принять, что 11011011 на Профи == 11111111 на IBM PC? Если рассматривать в лоб, то часть значение цветов на Профи ушли в следующий спектр. И как с этим работать? Я даже примерных формул найти не смог. Спрашивал у профессиональных дизайнеров, они только руками разводят, мол мы не программисты, программы всё сами делают.
Я думаю, эта задача в общем случае не решается. Два варианта. Простой - считаем, что у нас не 256 цветов, а 64. И сложный - конвертируем все возможные 256 цветов в 24-битный RGB. И дальше для каждой точки 24-битного изображения, которое хотим сконвертить, ищем максимально близкую по расстоянию в цветовом пространстве.
- - - Добавлено - - -
проверял на реальном Профике - цвета адекватные (точнее казать сложно)
Ну да, и правда адекватные. Очень странно.
Мой профик, увы, в виде недособранной платы, так что я не смогу глубоко в проблему зарыться.
А сконверчена она вашим конвертором? Раз в нем белый - это 11111111, то ничего не удивительно.
https://imageup.ru/img83/thumb/b06lvcspxqs3541800.jpg (https://imageup.ru/img83/3541800/b06lvcspxqs.jpg.html)
https://imageup.ru/img83/thumb/dlp2ztxpvja3541801.jpg (https://imageup.ru/img83/3541801/dlp2ztxpvja.jpg.html)
https://imageup.ru/img83/thumb/kc18_6pk-rs3541802.jpg (https://imageup.ru/img83/3541802/kc18_6pk-rs.jpg.html)
https://imageup.ru/img83/thumb/nax_stmy9q03541803.jpg (https://imageup.ru/img83/3541803/nax_stmy9q0.jpg.html)
И сложный - конвертируем все возможные 256 цветов в 24-битный RGB. И дальше для каждой точки 24-битного изображения, которое хотим сконвертить, ищем максимально близкую по расстоянию в цветовом пространстве.
Была мысль с помощью видео захвата взять образцы цветов с Профи. И провести их анализ в 24bpp.
Но пока нет ни Профика, ни платы видео захвата. Хотел заказывать в китае плату видео захват с шдми или скарта подключаемую через USB. Но притормозил, так как не ясно как буду подключать сам Профик когда он вернётся. Да качество, говорят, у них оставляет желать лучшего.
Кстати, вот несколько фоток программы Palet с реала. Давно мне их присылали, уже и забыл почти о них. При включение всех бит, белый цвет не уходит в желтизну.
https://imageup.ru/img83/thumb/img-5dd9cda1abbfb022294978b69a8f6a79-v3541814.jpg (https://imageup.ru/img83/3541814/img-5dd9cda1abbfb022294978b69a8f6a79-v.jpg.html)
https://imageup.ru/img83/thumb/img-bde9a4baf3d77cb23552f20976f4a6a4-v3541815.jpg (https://imageup.ru/img83/3541815/img-bde9a4baf3d77cb23552f20976f4a6a4-v.jpg.html)
https://imageup.ru/img83/thumb/img-bdebb3680504d5a64eaed431947c17f6-v3541817.jpg (https://imageup.ru/img83/3541817/img-bdebb3680504d5a64eaed431947c17f6-v.jpg.html)
https://imageup.ru/img83/thumb/img-c71f0915e892a8eca4cc34d94ab14016-v3541818.jpg (https://imageup.ru/img83/3541818/img-c71f0915e892a8eca4cc34d94ab14016-v.jpg.html)
Lethargeek
24.01.2020, 00:28
В литературе есть такое: "Так как синяя компонента представлена всего 2-я битами, то считается, что у нее есть младший бит, но он равен всегда 0. Т.е. если мы задаем значение синей компоненты в 11 (т.е. десятичное 3), то для получения белого цвета зелёная и красная компоненты должны быть заданы в значение 110 (десятичное 6). И байт палитры соответствующий белому цвету будет выглядеть как 11011011"
в макулатуру выкинуть такую литературу)) младший синий бит может быть таким, как разработчик схемы решил (например, логическое ИЛИ двух других битов или повторение старшего)
Оно и логично, ведь раз биты означают g4g2g1r4r2r1b4b2, то отсутствующий младший бит синего b1 всегда 0.
За схемотехнику не скажу, в ней разбираюсь от слова "ни как". Но если расматривать теорию, то вы правы если вес цветов в общей палитре равны r=g=b. Но на IBM PC это не так, r=g<>b.
Для r и g имеется 8 комбинаций и весь спектр делиться на них, для b только 6 комбинаций - и весь спектр делиться на них.
Если вообще рассматривать возможность, что у b есть третий бит, то получается ситуация, когда часть цветов спектра получить невозможно. Так как для него будет доступны значения 0, 2, 4, 6. А как быть с 1, 3, 5, 7?
Так что, третий бит в b один сплошной гемморой.
Если вообще рассматривать возможность, что у b есть третий бит, то получается ситуация, когда часть цветов спектра получить невозможно. Так как для него будет доступны значения 0, 2, 4, 6. А как быть с 1, 3, 5, 7?
Округлять, это не такая и проблема, в общем-то.
- - - Добавлено - - -
А вообще интересно, чем такой странный подход к формированию цвета был вызван. Ведь куда разумней было выкинуть старший бит у синего. Получили бы просто сниженное разрешение по этому каналу, но цветовое пространство всё равно представляло бы собой нормальный куб, а не такой усеченый, как сейчас. Вероятно, дело в том, что цвета были бы необычные. Например, ни один оттенок чистого серого (включая обычный неяркий белый) получить было бы невозможно, всегда был бы небольшой завал в один из каналов. Настоящим белым был бы только яркий белый, 11111111.
Lethargeek
24.01.2020, 10:47
Ведь куда разумней было выкинуть старший бит у синего. Получили бы просто сниженное разрешение по этому каналу, но цветовое пространство всё равно представляло бы собой нормальный куб, а не такой усеченый, как сейчас. Вероятно, дело в том, что цвета были бы необычные. Например, ни один оттенок чистого серого (включая обычный неяркий белый) получить было бы невозможно, всегда был бы небольшой завал в один из каналов. Настоящим белым был бы только яркий белый, 11111111.
это как так, выкинув СТАРШИЙ бит, получаем "неусечённый куб" и нормальный белый? :v2_wacko:
когда максимальный яркость синего в таком случае - половина максимальной других
и белого совсем так не будет, а только ненасыщенный жёлтый
Округлять, это не такая и проблема, в общем-то.
Если смотреть в лоб, то как округлять? Эти компоненты цвета (1,3,5,7) просто выпадают из палитры. Можно назвать палитру "рваной". Не могу сказать, что это было бы плохо, так как появилось бы больше "индивидуальных" цветов. Пробовал создать палитру для Фотошопа с учетом 3 бита.
Округление, это как раз отказ от третьего бита.
На мой взгляд главное понять где "реальный" белый цвет. И почему в Palet 11111111, яркий белый цвет.
- - - Добавлено - - -
это как так, выкинув СТАРШИЙ бит, получаем "неусечённый куб" и нормальный белый?
если читать тексты на прямую, то чистый белый цвет получается на 11011011(0), все цвета дальше из следующего спектра. Но в таком случае 11111111 должен отдавать желтизной, так как там отсутствует рост синей составляющей и это 11111111(0), но на реале этого нет.
это как так, выкинув СТАРШИЙ бит, получаем "неусечённый куб" и нормальный белый? :v2_wacko:
когда максимальный яркость синего в таком случае - половина максимальной других
и белого совсем так не будет, а только ненасыщенный жёлтый
Так не, преобразовать всё другими номиналами резисторов к требуемому напряжению, конечно. Чтобы 0b11 дало требуемый по стандарту максимум.
Lethargeek
24.01.2020, 11:34
если читать тексты на прямую, то чистый белый цвет получается на 11011011(0),
это СЕРЫЙ
Так не, преобразовать всё другими номиналами резисторов к требуемому напряжению, конечно. Чтобы 0b11 дало требуемый по стандарту максимум.
...и у синего будет своя шкала яркости, совпадающая с остальными только в нуле и в максимуме - попрощайтесь со шкалой серого
в реальности, как сказал, обычно поступают проще, привязывают младший воображаемый синий бит к состоянию одного или обоих старших
именно смотря какую шкалу серого хотят получить (обычно OR-ят, как итог яркость синего 0,3,5,7 - совпадает в 4 точках)
...и у синего будет своя шкала яркости, совпадающая с остальными только в нуле и в максимуме - попрощайтесь со шкалой серого
О чем я, черт побери, и написал. Что, желание пофлеймить глаза затмило?
Lethargeek
24.01.2020, 13:24
О чем я, черт побери, и написал. Что, желание пофлеймить глаза затмило?
Чёрт побери, нет. Выше ты написал про выкинуть именно СТАРШИЙ бит, почему-то получая то же пространство (уж не знаю, что там у тебя затмило в этот момент))
Чёрт побери, нет. Выше ты написал про выкинуть именно СТАРШИЙ бит, почему-то получая то же пространство (уж не знаю, что там у тебя затмило в этот момент))
Разумеется именно старший бит и выкинуть. Выкинуть же, уменьшив разрядность, а не занулить.
Lethargeek
24.01.2020, 15:40
Разумеется именно старший бит и выкинуть. Выкинуть же, уменьшив разрядность, а не занулить.
...и в результате меньший абсолютный максимум получить, который потом приходится масштабировать; а тогда какая разница, какой выкинуть
...и в результате меньший абсолютный максимум получить, который потом приходится масштабировать; а тогда какая разница, какой выкинуть
Лол, так мы это и обсуждаем. Разница большая - младший бит нельзя просто так выкинуть, его можно только константно привязать к нулю или единице. Если к нулю (как сделано в Профи), то мы теряем возможность получить "сверхяркий" белый цвет - когда все три компоненты 0b111. Поэтому (255, 255, 255) приходится отображать не в (7, 7, 7), а в (6, 6, 6). Из-за этого 21 цвет палитры Профи, которые уходят в 7 по яркости хотя бы одного канала, оказывается неудобно использовать, т.к. у них нет прообраза в цветовых пространствах с равной разрядностью всех каналов.
А если бы разработчики Профи выкинули старший бит, то никаких лишний цветов бы не было. Но была бы наоборот, проблема с тем, что часть цветов невозможно было бы получить. Например, серый.
Lethargeek
24.01.2020, 17:44
Разница большая - младший бит нельзя просто так выкинуть, его можно только константно привязать к нулю или единице.
ну, ё-моё... :v2_dizzy_facepalm:
в реальности, как сказал, обычно поступают проще, привязывают младший воображаемый синий бит к состоянию одного или обоих старших
именно смотря какую шкалу серого хотят получить (обычно OR-ят, как итог яркость синего 0,3,5,7 - совпадает в 4 точках)
и кому здесь, спрашивается, "желание пофлеймить глаза затмило"?..
и кому здесь, спрашивается, "желание пофлеймить глаза затмило"?..
Ау, с этой фразой никто не спорил, это правильное решение. Вот только у нас есть довольно популярный компьютер, где младший бит уже прибит гвоздями к нулю.
И речь о том, что если разработчики хотели сэкономить и оставить на синий только два значащих бита, то лучше бы взяли младшие и масштабировали резисторами, чем вот так.
- - - Добавлено - - -
Впрочем, ради 21 несчастного цвета (всего 10% всей палитры) терять чистые оттенки тоже глупо.
- - - Добавлено - - -
Кстати, вот несколько фоток программы Palet с реала. Давно мне их присылали, уже и забыл почти о них. При включение всех бит, белый цвет не уходит в желтизну.
Так я, если честно, и разницы между 0b11111111 и 0b11011011 тут не вижу. Визуально даже по сравнению с желтым второй вариант кажется светлее.
У меня нет разумных объяснений, разве что может у человека номиналы резисторов в формирователе видео стоят заниженные и из-за этого уровень максимальной яркости достигается уже при 0b110?
Эх, экран, на котором все доступные 256 цветов бы сфоткать... Было бы сразу понятно, какое там в реальности цветовое разрешение.
Что-то мы зашли в тупик...
Предлагаю принять за основу то, что у синего цвета своя шкала яркости, и можно приравнять значение бит 11111111 у Профи к значению 11111111 у IBM PC.
А значит принимаем первый вариант правки.
После появления новых данных (когда удастся сделать видео захват с Профи) вернуться к обсуждению и при необходимости внести коррективы.
Что-то мы зашли в тупик...
Не, в тупик мы зашли лишь в попытке понять, зачем создатели профи сделали всё так странно. А вопрос с палитрой довольно прозрачен.
Предлагаю принять за основу то, что у синего цвета своя шкала яркости, и можно приравнять значение бит 11111111 у Профи к значению 11111111 у IBM PC.
А значит принимаем первый вариант правки.
Берем и принимаем вариант, который противоречит и документации, и схеме? Эмм, логично :)
Eltaron, на следующей недели мне обещали фотки с Профи 5.03 без каких либо доработок. Машина только после капитального ремонта, палитру установлении во время него.
Eltaron, на следующей недели мне обещали фотки с Профи 5.03 без каких либо доработок. Машина только после капитального ремонта, палитру установлении во время него.
Что прежде всего хочется увидеть - три широких полосы, верхняя разбита пополам на желтый и ярко желтый. Нижняя - на белый и ярко белый.
Посередине 11111011, 11011111, 11111111, можно ещё каких-нибудь цветов с младшим битом.
Сам бы сделал, но я так понимаю, графических редакторов, в которых можно сделать GRF с палитрой не существует?
Сам бы сделал, но я так понимаю, графических редакторов, в которых можно сделать GRF с палитрой не существует?
Пока нет. В планах адаптация GRC. Но боюсь займёмся, как всегда, когда прижмёт.
Можно программно сделать.
Что прежде всего хочется увидеть - три широких полосы, верхняя разбита пополам на желтый и ярко желтый. Нижняя - на белый и ярко белый.
А какие цвета считаем жёлтыми и т.п.? у нас же две возможные схемы.
Может лучше обговорить значения бит?
А какие цвета считаем жёлтыми и т.п.? у нас же две возможные схемы.
Может лучше обговорить значения бит?
Дефотлная из palet.com. Будем исходить из того, что эта программа написана на Профи во времена Профи, у неё, вероятно, были сотни (если не тысячи) пользователей и она практически наверняка корректна.
Это соображение, кстати, не даёт мне даже допускать мысли о том, что "у нас две возможные схемы". Потому что если предположить, что среди пользователей Профи в 90-е распределение дальтоников было примерно таким же, как в целом по популяции, то яркий белый цвет 11011011 - он действительно яркий белый (а не бледно фиолетовый, например, каким он стал в первой версии фикса). Дальше включается здравый смысл, подсказывающий, что при увеличении красной и зеленой компоненты, но сохранении синей, полученный цвет 11111111 не может оставаться белым. Потому что не может быть белым цвет с неравными цветовыми компонентами.
solegstar
28.01.2020, 22:53
на следующей недели мне обещали фотки с Профи 5.03 без каких либо доработок. Машина только после капитального ремонта, палитру установлении во время него.
Вот то, что получилось. Сразу скажу, что желтизны нет, когда включаю дополнительные биты. белый становится еще ярче. Даже когда отдельно включаю зеленый бит, белый квадрат приобретает слегка (практически не заметно) зеленоватый оттенок, когда включаю отдельно красный, белый яркий квадрат приобретает слегка розоватый оттенок, но когда оба включены - яркий белый (возможно теплый становится), не явно желтый.
https://drive.google.com/uc?export=download&id=17DuqVw9CIvAM0yexDpeLwkbMHaXX4czm
https://drive.google.com/uc?export=download&id=1I9e-_FjY5y1wD0Xxp3bwtSPfNWZ3DUvn
Градиент от темно-серого к ярко-белому:
https://drive.google.com/uc?export=download&id=1B0TWkU_-gryE51m8VQ_vYixlEdk9cbCL
https://drive.google.com/uc?export=download&id=1gP7q0yYyqhnqWaSTAme8gsjFhAyfq1pG
https://drive.google.com/uc?export=download&id=1bBvxmb7YFMy5x9YYpb0hep9Qyolm0VA6
https://drive.google.com/uc?export=download&id=1EB3IqFgQ9hW7BU3sdLWFMpBCH8lUM1id
https://drive.google.com/uc?export=download&id=1t28ueR4zrRMftsENt9R9GWKnLY0Iqy37
https://drive.google.com/uc?export=download&id=1H0umg5IJILMmhsZMFmP2IRS3m8KEjBFc
https://drive.google.com/uc?export=download&id=12QUkUx2mr5HFeCk9E2EZDgqiNF07N_VE
https://drive.google.com/uc?export=download&id=1O69Mg4C1ESOsPQZj0ggpwiH6C6vHEYy6
Отмечу, что машина показана стандартными 16 цветами спектрума, без использования палитры.
тут совместил фотографии с исходными файлами, все 16 цветов, но где-то одни до конверсии в Формат Профи, другие после (не на все нашел оригиналы файлов).
Есть подвижки по цвету, но их можно приписать к качеству фотографий. Как уже писал, нужен видео захват...
https://imageup.ru/img158/thumb/2020-01-29_00-22-103544732.jpg (https://imageup.ru/img158/3544732/2020-01-29_00-22-10.jpg.html)
https://imageup.ru/img158/thumb/2020-01-29_00-25-213544733.jpg (https://imageup.ru/img158/3544733/2020-01-29_00-25-21.jpg.html)
https://imageup.ru/img158/thumb/2020-01-29_00-50-323544734.jpg (https://imageup.ru/img158/3544734/2020-01-29_00-50-32.jpg.html)
https://imageup.ru/img158/thumb/2020-01-29_00-52-313544735.jpg (https://imageup.ru/img158/3544735/2020-01-29_00-52-31.jpg.html)
И ещё мысли вслух, во всей литературе ярко белый цвет 11011011 относят к стандартным цветам Спектрума, ни где не говориться, что это самый яркий белый цвет в расширенной палитре.
Lethargeek
29.01.2020, 03:51
желтизны нет, когда включаю дополнительные биты. белый становится еще ярче. Даже когда отдельно включаю зеленый бит, белый квадрат приобретает слегка (практически не заметно) зеленоватый оттенок, когда включаю отдельно красный, белый яркий квадрат приобретает слегка розоватый оттенок, но когда оба включены - яркий белый (возможно теплый становится), не явно желтый.
что какбэ намекает на 1B = (1G AND 1R)
Спасибо, интересная пища для размышлений.
что какбэ намекает на 1B = (1G AND 1R)
На схеме нет ничего такого.
https://b.radikal.ru/b10/2001/fc/e68e1985c120.png
solegstar
29.01.2020, 10:29
что какбэ намекает на 1B = (1G AND 1R)
если бы это было так, то цвет 10110110 был бы белым, но он бледно-желтый, причем явно выраженый.
я бы сказал, что белый при 11111111 становится еще ярче и теплее. наверное так более правильно. можно высчитать по резисторному цапу, долю всех бит в аналоговом сигнале и посмотреть, насколько тон 11011011 отличается от 11111111, взяв за лог.1 напряжение 5В, а лог.0 соотв. 0В.
solegstar
29.01.2020, 15:32
У меня получилось примерно так:
Бит х2 Бит х1 Бит х0 Вольты Доли
0 0 0 0 0
0 0 1 0,72 36,72
0 1 0 1,4 71,4
0 1 1 2,17 110,67
1 0 0 2,83 144,33
1 0 1 3,56 181,56
1 1 0 4,28 218,28
1 1 1 5 255
У меня получилось примерно так:
Угу, протеус такое же выдает по схеме. Тут шаг равномерный, с ним желтит
https://b.radikal.ru/b12/2001/3f/af0eb727ff12.png (https://radikal.ru)
Я пробовал посчитать через формулу для параллельно включенных сопротивлений - ну типа как будто R42 и R47 включены параллельно. Получилось нелинейно (0, 85, 139, 177, 202, 224, 241, 255) и желтый стал гораздо ближе к теплому белому. Но зато черный уплыл совсем. Да и пляски с бубном это какие-то, а не разумный подход.
Вы не учитываете одну вещь.
Вот то, что получилось. Сразу скажу, что желтизны нет, когда включаю дополнительные биты. белый становится еще ярче. Даже когда отдельно включаю зеленый бит, белый квадрат приобретает слегка (практически не заметно) зеленоватый оттенок, когда включаю отдельно красный, белый яркий квадрат приобретает слегка розоватый оттенок, но когда оба включены - яркий белый (возможно теплый становится), не явно желтый.
что какбэ намекает на 1B = (1G AND 1R)
На схеме нет ничего такого.
https://b.radikal.ru/b10/2001/fc/e68e1985c120.png
(схему убрал под спойлер)
Есть на схеме такое.
Смысл трёх диодов и трёх резисторов на бите Red-0 я не понял. Это опциональный вариант, для обычной палитры, или как? Учитывать из пока не будем, не в них дело.
Для начала смотрим на 9 резисторов после DD47 и DD39. Простой ЦАП. Погрешность 510 Ом вместо 500 не учитываем.
Для всех трёх компонент максимальное напряжение 5 вольт при значении 111, но у синего только два бита.
То есть 11011011 это по идее белый, потому что напряжения одинаковые, уровень 6/7 от максимума.
А теперь смотрим на R26, R30, R28. Если бы не было R33, то это было бы простое понижение напряжения с 5 вольт до уровня видеосигнала. Но с R33 происходит как бы смешивание всех трёх компонент, и, например, при "чисто красном" на синем и зелёном тоже будет какое-то небольшое напряжение.
Что и видим.
Установили бит на красном - получили более яркий белый с красноватым оттенком. Бит на зелёном - зеленоватый яркий белый. Оба бита должны дать желтоватый, но синий тоже подрастает, вот и получается то ли белый, который ярче чем 11011011, то ли желтоватый... Зависит, видимо, от погрешности резисторов.
- - - Добавлено - - -
Итого в уровнях там чёрт ногу сломит, но попробую посчитать. Но без диодов.
solegstar
29.01.2020, 17:23
Смысл трёх диодов и трёх резисторов на бите Red-0 я не понял. Это опциональный вариант, для обычной палитры, или как? Учитывать из пока не будем, не в них дело.
да, именно так, для стандартного видеовыхода без палитры.
А теперь смотрим на R26, R30, R28. Если бы не было R33, то это было бы простое понижение напряжения с 5 вольт до уровня видеосигнала. Но с R33 происходит как бы смешивание всех трёх компонент, и, например, при "чисто красном" на синем и зелёном тоже будет какое-то небольшое напряжение.
на самом деле, сейчас этих резисторов нет. и они действительно чисто для понижения к стандартному видеосигналу. могу сегодня допаять их (так или иначе собирался это сделать) и показать, что получится, но я уверен, что будет тоже самое.
- - - Добавлено - - -
Я пробовал посчитать через формулу для параллельно включенных сопротивлений - ну типа как будто R42 и R47 включены параллельно.
я так и считал + делитель напряжения.
на самом деле, сейчас этих резисторов нет. и они действительно чисто для понижения к стандартному видеосигналу. могу сегодня допаять их (так или иначе собирался это сделать) и показать, что получится, но я уверен, что будет тоже самое.
Если R33 замкнуть накоротко - да, будет то же самое.
А "стандартный видеосигнал" это сколько? Потому что у меня получается при закороченном R33:
U=5 * 470/(286+470) = 3,11 В
Не много ли?
solegstar
29.01.2020, 17:42
А "стандартный видеосигнал" это сколько?
вообще должен быть до 0,7В, но я вечером проверю, после запайки.
Выходное сопротивление ЦАП равно
500 Ом || 1 кОм || 2 кОм = 286 Ом
Считаем для "средней точки".
Каналов три, (286+470)/3=252 Ома
Напряжение в средней точке на R33 равно
Uavg = ((R+G+B)/21) * (100/(100+252)) = (R+G+B)*0,013
где R, G, B это значения уровня, от 0 до 7.
Выходное напряжение, например, для синего:
U(R)=((R/7)*470 + (Uavg*286)) / (470+286) = R*0,089 + Uavg*0,378 =
= R*0,089 + (R+G+B)*0,013*0,378 = R*0,094 + (G+B)*0,005
Ну и отнормируем к максимуму 0,728:
U(R) = R*0,129 + (G+B)*0,007
Для остальных аналогично.
Для 11011011: R=0,857 G=0,857 B=0,857
Для 11111011: R=0,986 G=0,864 B=0,864
Для 11111111: R=0,993 G=0,993 B=0,870
Не, не белый...
- - - Добавлено - - -
Если R33 не ставить вообще:
Для 11011011: R=0,857 G=0,857 B=0,857
Для 11111011: R=0,964 G=0,875 B=0,875
Для 11111111: R=0,982 G=0,982 B=0,892
- - - Добавлено - - -
Может я что-то не так считаю, но при такой схеме
R=111 G=000 B=00: R=0,761 G=0,120 B=0,120
R=111 G=111 B=00: R=0,881 G=0,881 B=0,239
Чистого цвета при такой схеме нет и не будет.
Надо брать оригинальный комп и в нём смотреть номиналы, схему, и уровни на выходах. Гадать по фотографиям можно бесконечно.
И, кстати, про два варианта схемы, они отличаются только наличием R35.
Есть резистор - 11011011 белый, 11111111 бледно-жёлтый.
Нет резистора - 11111111 белый, 11011011 бледно-синий.
Поставить туда резистор килоом на 5 и все четыре цвета станут "ни нам, ни вам". Типа белые ;)
- - - Добавлено - - -
Картинка для рассматривания на качественных мониторах людьми с тонким цветовосприятием :)
71395
solegstar
29.01.2020, 20:49
Запаял резисторы. Уровни ессно просели, монитор теперь не запирает по уровням и яркость на мониторе можно чуть добавить, но оттенок при 11111111 остался такой же, тёплый Белый. Кстати, сравнил с картинкой, что-то есть похожее. :) спасибо Bolt! Если напишете тест, где можно переключать/задавать цвета палитры и этим цветом можно будет залить весь экран, то я сниму уровни сигналов для каждой комбинации цветов.:)
- - - Добавлено - - -
На крайний случай, вытащу рушки, вставлю 8 переключателей и буду щёлкать) но это на совсем крайний случай)) ртшки шил так конечно, но сейчас 21 век на дворе.:)
Ну и отнормируем к максимуму 0,728:
U(R) = R*0,129 + (G+B)*0,007
Для остальных аналогично.
Взял эту идею за основу и добавил ко всем компонентам 1/10 суммы остальных (и обрезал до 255 там, где вылезло). Стало тепло и лампово.
https://a.radikal.ru/a34/2001/8e/adcce7109d8d.png (https://radikal.ru)
Вроде и желтовато, но есть подозрение, что это на сером фоне форума так кажется. Фотоаппарат сдвигает баланс белого и выходит почти как на реале.
https://b.radikal.ru/b11/2001/80/4aba4ac45eff.png (https://radikal.ru)
Если напишете тест, где можно переключать/задавать цвета палитры и этим цветом можно будет залить весь экран, то я сниму уровни сигналов для каждой комбинации цветов.
То есть нужно заливать цветом весь экран?
Скажем так, окрашивание экрана последовательно всеми цветами с ожиданием нажатия любой кнопки между изменением цвета - подойдёт?
Нужна ли какая либо дополнительная информация на экране? Номер цвета, значение бит и т.п.
Имеет ли значение каким цветом заливать, бумаги или чернил?
Да вроде чем меньше всего на экране, тем точней показания вольтметра. Там и так во время обратного хода луча просадка будет.
В плане удобства, мне кажется, лучше всего было бы брать номер цвета из аргументов командной строки. Чтобы проще парсить, можно хексом. И выход по нажатию одной кнопки.
На основе такого любой .SUB навернуть уже можно.
Bedazzle
29.01.2020, 23:52
Я что подумал - в строительных в отделе красок же есть всякие картонки с разными цветами.
Не поможет в подгонке палитры?
solegstar
30.01.2020, 10:35
То есть нужно заливать цветом весь экран?
да, желательно. я буду смотреть осцилографом, поэтому желательно чтобы было меньше разных уровней сигнала.
В плане удобства, мне кажется, лучше всего было бы брать номер цвета из аргументов командной строки. Чтобы проще парсить, можно хексом. И выход по нажатию одной кнопки.
Вполне нормально будет.
Утилита "testcolor" https://yadi.sk/d/bDgT3MtTgdKpLQ
В цикле выводит на экран "стандартные" цвета. Между изменением цветов ждёт нажатия любой кнопки, по ecs выход.
Можно яркий/не яркий цвет поставить друг за другом.
Утилита "testpalet" https://yadi.sk/d/x83Jsougn5bKcw
В цикле выводит на экран цвета расширенной палитры. Между изменением цветов ждёт нажатия любой кнопки, по ecs выход.
Обе утилиты в образе диска https://yadi.sk/d/yf2tAJCIdxNNrQ
solegstar
31.01.2020, 10:27
Утилита "testpalet"
ок, спасибо. попробую сегодня вечером снять замеры.
solegstar
05.02.2020, 12:19
попробую сегодня вечером снять замеры.
Прошу меня извинить, был в разъездах. надеюсь сегодня всё получится.
solegstar
08.02.2020, 10:43
Вот результаты измерения по каналам. В программе testpal код палитры отображается в двоичном виде, где биты расположены так:
GGGRRRBB. В таблице я записывал код в десятеричной системе, колонки G и R поменял местами. Измерений оказалось дофигища просто.
Пришлось повозиться конечно. :) Надеюсь не зря...
71468
- - - Добавлено - - -
PS: забыл уточнить, что измерения проводились на выходном разъеме Профи с подключенным монитором.
solegstar, Получилось вот так
https://imageup.ru/img267/thumb/2020-02-08_13-15-253551777.jpg (https://imageup.ru/img267/3551777/2020-02-08_13-15-25.png.html)
solegstar
08.02.2020, 12:22
solegstar, Получилось вот так
https://imageup.ru/img267/thumb/2020-02-08_13-15-253551777.jpg (https://imageup.ru/img267/3551777/2020-02-08_13-15-25.png.html)
ты учел, что зеленый и красный поменяны местами в таблице?
Во всех формулах, которые я выводил, я не учёл одну вещь. Все эти формулы верны для КМОП выхода, а здесь ТТЛ, у которого "вниз" стоит транзистор с напряжением насыщения коллектор-эмиттер, а "вверх" тянет резистор с достаточно большим сопротивлением. И из-за нелинейностей формулу замучаешься выводить, даже для измеренных значений.
Попробовать параболой интерполировать что ли...
- - - Добавлено - - -
Нет, не парабола, и даже, наверное, дело не в КМОП/ТТЛ...
Примерно так: U(B)=0,36*B+0,02*(R+G)-0,5
где "R" и "G" в диапазоне 0...7, "B" в диапазоне 0...6 с шагом 2.
Если получилось меньше ноля - обрезаем в ноль.
Для остальных цветов аналогично.
"Минус 0,5" откуда? :)
ты учел, что зеленый и красный поменяны местами в таблице?
Получается, что да. Здесь цвета RGB, но и палитра для фотошопа.
- - - Добавлено - - -
Bolt, а посему нельзя приравнять максимальные заявления 2.24 для RG и 1.96 по B, к 255 в 24Bpp, после чего пропорции пересчитать? Собственно так палитру и получил.
Потому что 2.24 это 2.24, а 1.96 это 1.96, и "11111111" это жёлтый оттенок ярче белого, а "11011011" (десятичное 219) даст белый, см. таблицу, в этой строке по 1.92 вольта.
- - - Добавлено - - -
UR:=R*40+(B+G)*2; if UR>55 then UR:=UR-55 else UR:=0;
UG:=G*40+(R+B)*2; if UR>55 then UG:=UG-55 else UG:=0;
UB:=B*40+(R+G)*2; if UR>55 then UB:=UB-55 else UB:=0;
U(B)=0,36*B+0,02*(R+G)-0,5
При r=0, g=0, b=0 получаем U(B)=0,22
Как это интерпретировать в цвет?
UR:=R*40+(B+G)*2; if UR>55 then UR:=UR-55 else UR:=0;
UG:=G*40+(R+B)*2; if UR>55 then UG:=UG-55 else UG:=0;
UB:=B*40+(R+G)*2; if UR>55 then UB:=UB-55 else UB:=0;
Даёт такие значения RGB
https://imageup.ru/img267/thumb/2020-02-08_16-23-083551894.jpg (https://imageup.ru/img267/3551894/2020-02-08_16-23-08.png.html)
Примерно так: U(B)=0,36*B+0,02*(R+G)-0,5
где "R" и "G" в диапазоне 0...7, "B" в диапазоне 0...6 с шагом 2.
Если получилось меньше ноля - обрезаем в ноль.
Для остальных цветов аналогично.
При r=0, g=0, b=0 получаем U(B)=0,22
"Как ты это сделал, демон?!" (с)
Как ты, подставив в формулу три нулевых значения, получил на выходе 0,22?
(обращаясь ко всем)
Люди, скажите, у меня в формулах где-то ошибка? Я выразил мысль на несуществующем языке программирования? А может на несуществующем человеческом языке? Или на существующем, но неизвестном вам? Или мысль выразил через жопу?
"11111111" это жёлтый оттенок ярче белого
Я не заметил желтизны на фотографиях с экрана. И как желтый может быть ярче белого?
Попробовал создать циклы по цветам 0-7, с шагом для b через два. И переводить в 24Bpp, все цвета как полноценные 3 битные. Получается максимальное значение когда все три цвета равны, это 219 219 219. Но это то же оттенок серого. При такой формуле, белого нет вообще.
https://imageup.ru/img267/thumb/2020-02-08_17-06-433551922.jpg (https://imageup.ru/img267/3551922/2020-02-08_17-06-43.jpg.html)
- - - Добавлено - - -
Как ты, подставив в формулу три нулевых значения, получил на выходе 0,22?
Ошибся r=0 g=0 b=1
Вопрос в том, что получаться дробное число, а должно быть целое. Как из него получить значение палитры или цветов?
solegstar
08.02.2020, 17:21
Ребята, я думаю, что проблема с ярким белым, или желтизной это лишь то, что цвета имеют очень большой размах 2,2В! при стандарте 0,7В максимум. Скорее всего именно поэтому мы и не видим желтизны (я на реале её не вижу). Я приведу 2,2В к стандартным 0,7в через делитель и уверен, что желтизна появится, просто обязана появится.
- - - Добавлено - - -
Только чуть позже. Сейчас занялся другим Профиком.
solegstar
09.02.2020, 13:06
Решил посмотреть, как будут выглядить цвета Профи на ПЦ из 24х битной палитры.
Для этого перевел расчеты напряжения в доли, разделив все значения на максимальное значение напряжения (2,24В в нашем случае), а потом умножил получившейся коэфициент на 255. Написал небольшой макрос для экселя, чтобы перевести значения кодов цвета непосредственно в цвет.
Смотрите, что получилось в аттаче. По идее, такие значения таблицы кодов цвета можно вставить в эмуль? или преобразование кода эмулятором будет медленным?
71475
- - - Добавлено - - -
еще, случайно открыл для себя, что офис 2003 не поддерживает 24битную палитру. :) пришлось ставить более новый офис...
(2,24В в нашем случае),
У синего тоже?
В прошлый раз сделал то же самое, только у синего брал максимальное заначение 1.96
У тебя кроме первого у цветов 4 и 32 так же все три оставляющие равны 0.
Твой палитра в фотошопе. Отдельно показал "белый" цвет
https://imageup.ru/img259/thumb/2020-02-09_17-21-033552565.jpg (https://imageup.ru/img259/3552565/2020-02-09_17-21-03.jpg.html)
solegstar
09.02.2020, 20:30
У синего тоже?
конечно, ведь размах синего у нас должен быть таким же, если бы использовались все три бита синего на полную. Я переделал реальные данные, те, которые воспринимаются аналоговым монитором без преобразования. закончу с Профиком одного форумчанина и попробую поэкспериментировать с размахом сигналов цветов, чтобы привести их к стандартным 0,7В.
solegstar, это нужно сделать, что бы понять, как правильно настраивать реальный Профик.
Если исходить из того, что за "белым цветом" есть ещё цвета, то последние палитры максимально близки к реалиям 24bpp. Если подвижки и будут (а они скорее всего будут), то только в нюансах как считать синий цвет, основная структура останется такой же. Да же если на реале цвет 291 219 219, будет ближе к белому, на IBM придётся использовать эту палитру.
Ребята, я думаю, что проблема с ярким белым, или желтизной это лишь то, что цвета имеют очень большой размах 2,2В! при стандарте 0,7В максимум.
Да, наверняка. Вот, скажем, попробовал сымитировать перегруз по уровням, отправляя в 255 всё, что больше 224 (224 - это то, куда интерполировал 1.92В). Количество цветов, понятное дело, уменьшается, но выглядит, по-моему, в точности как на реале.
https://a.radikal.ru/a25/2002/69/00d4bf73a9da.png (https://radikal.ru)
NEO SPECTRUMAN
11.02.2020, 00:51
PS: забыл уточнить, что измерения проводились на выходном разъеме Профи с подключенным монитором.
так же нужно уточнение
есть ли в профике R35 на землю у синего канала
solegstar
11.02.2020, 10:31
так же нужно уточнение
есть ли в профике R35 на землю у синего канала
Если Профи 5.02 (или 5.03) собран по фирменному альбому схем, то это уточнение есть само собой в альбоме схем.
NEO SPECTRUMAN
11.02.2020, 19:30
Если Профи 5.02 (или 5.03) собран по фирменному альбому схем
Это утверждение или вопрос?
так же нужно уточнение
есть ли в профике R35 на землю у синего канала
смысле в том
с которого сняты данные с видеовыхода
solegstar
11.02.2020, 23:20
Это утверждение или вопрос?
Ты видишь в моем предложении вопрос?
смысле в том
с которого сняты данные с видеовыхода
Вообще не понял этого предложения.
Мы сейчас говорим о палитре и как она отображается на реальном мониторе с реального Профи, и логично предположить, что для чистоты эксперимента, я снимал сигналы интенсивности цветов с разъема видеовыхода, а точнее с Х5. после всех резисторов и после усилителей по току (эммитерных повторителей). я снимал тот сигнал, который идет непосредственно в монитор, не с каких-то промежуточных точек на плате, с собранным полностью ЦАПом. Надеюсь так понятнее?
Насчет R35 - в Профи есть несколько вариантов распайки видеоцапа: стандартный 2хбитный, как у обычного спектрума, а также видеоцап с поддержкой палитры. Распаивается только ОДИН из вариантов. Какой распаивать выбирает сам собирающий плату мастер. Как распаивать - написано в фирменном альбоме схем. Открой его, думаю так понятнее будет. Или еще есть вопросы?
после всех резисторов и после усилителей по току (эммитерных повторителей)
Вот откуда в формуле "минус 0.5", это падение база-эмиттер. И это надо как-то учесть при построении делителя до 0.7 В.
А кто-нибудь вкурсе что с автором? режим эмуляции Спринтера в крайних версиях сломан совсем.
А кто-нибудь вкурсе что с автором? режим эмуляции Спринтера в крайних версиях сломан совсем.
Да и с новыми ромами Пентево не загружается совсем. Для автора это уже пройденный этап. Есть исходники.
Да и с новыми ромами Пентево не загружается совсем. Для автора это уже пройденный этап. Есть исходники.
к сожалению исходники мне не помогут. т.к. си шарп триклятый. если кто-нить в нём шарит. может кто-нить допилить пару фич в нём?
к сожалению исходники мне не помогут. т.к. си шарп триклятый. если кто-нить в нём шарит. может кто-нить допилить пару фич в нём?
В эмуляции пентевы, или в самом эмуле?
В эмуляции пентевы, или в самом эмуле?
в эмуляции Спринтера не хватает CTC (4х канальный таймер). который встроен в проц на реальной машине.
в эмуляции Спринтера не хватает CTC (4х канальный таймер). который встроен в проц на реальной машине.
Это обычный Z80-CTC, только прямо на чипе? А на каких адресах он висит, 0000-0003? Что-то не могу найти нормального даташита на проц Спринтера.
Это обычный Z80-CTC, только прямо на чипе? А на каких адресах он висит, 0000-0003? Что-то не могу найти нормального даташита на проц Спринтера.
самое ближайшее, что смог найти: https://cloud.mail.ru/public/2c27/2yeH6adPN
вот ещё что-то нашёл (но тут порты могут отличаться, по первой ссылке все порты как есть, но тут чёто сомневаюсь): http://www.z80.info/zip/z80ctc.pdf
и ещё сводная дока там же (по ПИО, СИО и СТС): http://www.z80.info/zip/um0081.pdf
самое ближайшее, что смог найти: https://cloud.mail.ru/public/2c27/2yeH6adPN
вот ещё что-то нашёл (но тут порты могут отличаться, по первой ссылке все порты как есть, но тут чёто сомневаюсь): http://www.z80.info/zip/z80ctc.pdf
и ещё сводная дока там же (по ПИО, СИО и СТС): http://www.z80.info/zip/um0081.pdf
Спасибо, мне от первой только какие-то мутные джипеги попадались. Значит, адреса 0x10-0x13.
А как проверить работоспособность эмуляции? У меня нет образа диска, а BIOS в эти порты ничего не пишет.
Спасибо, мне от первой только какие-то мутные джипеги попадались. Значит, адреса 0x10-0x13.
А как проверить работоспособность эмуляции? У меня нет образа диска, а BIOS в эти порты ничего не пишет.
вот и я никогда не писал под СТС т.к. нет эмуляции, но я попробую накидать что-нить.
вот и я никогда не писал под СТС т.к. нет эмуляции, но я попробую накидать что-нить.
А, то есть никакого исторического софта нет? Надо тогда хоть на реальном спринтере проверить, а то ведь сделаем счас поддержку умозрительного железа :)
А, то есть никакого исторического софта нет? Надо тогда хоть на реальном спринтере проверить, а то ведь сделаем счас поддержку умозрительного железа :)
в качестве поддержки пока только драйвер мыши в Estex`е. больше никто ничего не догадался написать за последние года (что печально). но сейчас появилась идея как бы можно было это использовать (например, плеер СИДов, для получения более выраженной скважности)) ).
init_mouse:
di
;D0=Control Word, D2=Time Constant Follows, D4=Rising Edge
;D5=0=Prescaller 16
;D6=Select Counter Mode
ld a,55h
out (CTC_CHAN0),a
ld a,2Dh ;я так понимаю, временная константа?!
out (CTC_CHAN0),a
NEO SPECTRUMAN
17.05.2020, 01:53
плеер СИДов,
ты тоже решил делать сидороплеер?
с блекджеком и шлюхами?
ты тоже решил делать сидороплеер?
с блекджеком и шлюхами?
ну была такая мысль, но я не такой продвинутый кодер как ты, есть сомнения. будем посмотреть.
Приветствую всех! Товарищи, нужна помощь в настройке этого замечательного эмулятора для запуска ОС CP/M в режиме Profi+. Какие только настройки не пробовал и какие только образы дискет не подсовывал, в результате получал либо бутлуп (бесконечную перезагрузку), либо зависание (что было намного чаще) при попытки загрузить ОС с дискеты. Может есть какие-то тонкости по настройке эмуля либо нужен какой-то более "правильный" образ системной дискеты, подходящий для ZXMAK2? Кстати, сборку эмулятора пробовал в том числе и самую свежую, с фиксами именно под Profi (2938-fixprofi2). Заранее благодарен за любую помощь.
Приветствую всех! Товарищи, нужна помощь в настройке этого замечательного эмулятора для запуска ОС CP/M в режиме Profi+. Какие только настройки не пробовал и какие только образы дискет не подсовывал, в результате получал либо бутлуп (бесконечную перезагрузку), либо зависание (что было намного чаще) при попытки загрузить ОС с дискеты.
Попробуй включить галку "WD93 No delay" в свойствах бетадиска. Тайминги ВГ-шки - это совершенно неизведанная область, они, похоже, во всех эмуляторах неправильные и просто подогнаны под TR-DOS. А вот с CP/M-ами беда.
Eltaron, Спасибо за совет, но это не помогло... Попробую запустить в другом эмуляторе (UnrealSpeccy), может повезет)
Eltaron, Спасибо за совет, но это не помогло... Попробую запустить в другом эмуляторе (UnrealSpeccy), может повезет)
А что за образ дискеты, может в нём дело?
Eltaron, Да я много разных пробовал, ни один не завелся. При этом в UnrealSpeccy некоторые образы с CP/M запустились, но программы работают не все (например, MK3 Demo заработала, а Death World - не запустилась с ошибкой обращения к сегменту памяти).
Upd: Разобрался с настройкой ZXMAK2: оказывается, нужно было всего лишь воспользоваться Wizard'ом ;) Операционка запустилась (причем, в разных вариантах).
Eltaron, Можешь с эмулем помочь? что-то клавиатура как-то медленно эмулируется в режиме Спринтера. Если зажать какую-нибудь клавишу на клаве, то эмуль посылает данные с частотой 1 раз в секунду. толи в клаве косяк у эмуля, толи с прерываниями. на реальной железке такого косяка нет.
А кто-нить еще занимается этим эмулятором? В нем есть поддержка ZX-EVO, но очень устаревшая. Хотелось бы увидеть TS-Config и Base Conf с новыми ромами и прочими плюшками (звуковыми картами). Мне нравится как ZXMAK2 работает с экраном. В US полная каша, надо постараться чтобы нормально настроить.
Eltaron, Можешь с эмулем помочь? что-то клавиатура как-то медленно эмулируется в режиме Спринтера. Если зажать какую-нибудь клавишу на клаве, то эмуль посылает данные с частотой 1 раз в секунду. толи в клаве косяк у эмуля, толи с прерываниями. на реальной железке такого косяка нет.
Я так понимаю, что там и в клаве косяк, и с прерываниями. В клаве там есть какой-то костыль (https://github.com/zxmak/ZXMAK2/blob/master/src/ZXMAK2.Hardware/Sprinter/SprinterKBD.cs#L303), который симулирует повторную отправку сканкода кнопки при удерживании. Я попробовал его убрать - и курсор в биосе стал носиться так, что стало крайне сложно попасть в нужный пункт меню.
Может есть какая-нибудь документация по прерываниям на Спринтер? В руководстве программиста ни слова, хотя по схеме видно, что /INT генерится где-то в недрах альтеры. Видимо, надо её сорцы читать.
Клавиатура на Спринтере работает в пассивном режиме, т.е. нет никаких генераций каких-то спец прерываний. прямо сейчас опрос клавы висит на обычном 50гц прерывании (im1).
В клаве там есть какой-то костыль (https://github.com/zxmak/ZXMAK2/blob/master/src/ZXMAK2.Hardware/Sprinter/SprinterKBD.cs#L303)
Понял - это не костыль, это так и надо. Просто там ошибка была.
Клавиатура на Спринтере работает в пассивном режиме, т.е. нет никаких генераций каких-то спец прерываний. прямо сейчас опрос клавы висит на обычном 50гц прерывании (im1).
Попробуй вот эту версию - https://github.com/atsidaev/ZXMAK2/releases/download/v2.9.3.8-1/zxmak2e-2.9.3.8-1.zip
Во сколько раз на глаз скорость автоповтора от реала отличается? Или и так норм стало?
вроде похоже. в понедельник смогу сказать точнее (реал на работе). но сейчас стало лучше.
Eltaron, может ещё подмогнёшь? наткнулся на очередной баг, теперь в работе с жёсткими дисками (и есть подозрение, что hdd тут в целом реализован с ошибкой).
Объясняю: имеется образ, описанный в файле vmide:
<Geometry cylinders="15465" heads="16" sectors="63" lba="15583050" />
начинаю читать инфу после команды 0xec (идентификация девайса). Читаю запись об Цилиндрах и вижу, что там ошибка, данные не соответствуют файлу настроек.
в данном случае читается 15459 цилиндров (0x3c63). можно было бы подумать, что читалка у меня кривая, но нет, заглянул отладчиком в буфер идентификационного сектора, а там именно так и записано, 15459 цилиндров, а должно быть 15465. Кол-во LBA секторов вроде совпадает. В общем баг в адресации CHS. Можешь проверить и подправить?
- - - Добавлено - - -
худо - бедно, но сам исправил этот баг.
файл AtaDevices.cs. было:
private UInt32 c, h, s, lba;
стало:
private UInt16 cyls, heads, secs;
не знаю насколько правильное решение, но тут есть ещё одна хотелка. Eltaron, можешь тайминги проца исправить? вообще прикрутить кнопку турбо можно в эмуле или нет? имеется в виду не ту, что прям вжух быстрая, а нормальная кнопка.
Спринтер имеет частоту проца 21мгц. Но как известно из-за вейтов в озу мы не получаем все 21мгц. эффективная частота меньше. Согласно теста 4.30 (а более других мне тестов не известно) при 21мгц длинна инта тест показывает как 252896, но при этом снизу написано:
low mem speed: 204782 - 247575
hight mem speed: 204782 - 247575
если загнать тест в fast ram (теневая срам), то должно быть что-то около 430080 тактов в инте (про low и hi mem speed не знаю). Возможно ли реализовать подобные скорости в эмуле?
кнопка Ф12 смена частоты - 3.5мгц/21мгц. в турбе (хотя на спринтере это штатная частота, а не турба) чтобы были такие вот показатели + при рабьоте с теневой срамой чтобы было видно повышение скорости. или это всё анреал?
если загнать тест в fast ram (теневая срам), то должно быть что-то около 430080 тактов в инте (про low и hi mem speed не знаю). Возможно ли реализовать подобные скорости в эмуле?
Там, по-моему, эмуль и так пытается на этой скорости работать, по крайней мере я видел, что там во фрейме 71600 * 6 = 429600 тактов. Погляжу, как время будет.
Там, по-моему, эмуль и так пытается на этой скорости работать, по крайней мере я видел, что там во фрейме 71600 * 6 = 429600 тактов. Погляжу, как время будет.
В этом и проблема - эмуль быстрее реала всё время, в то время как реал может работать на таких скоростях только когда код исполняется в fast ram. т.е. большую часть времени производительность вейтится, а эмуль вейты не соблюдает. для себя я собрал эмуль с пониженными харк-ми, примерно около реала. но при этом он не реагирует на fast ram, как будто она как обычная память с вейтами. кароче "разброд и шатание".
NEO SPECTRUMAN
06.12.2020, 16:02
таблица цап профи_calc.zip
прошелся по таблицам (по которым уже прошелся до этого deathsoft)
http://www.mediafire.com/file/ikmwzwj6s1wxf48/profi_dac2srgb_0005.7z/file
меняем напряжение среза в столбце Gain, В
щас 2В
результаты в последних столбцах
как выглядит такой вариант?
(не уверен правильно ли применять гамма коррекцию в таком случае
если окажется что правильно
то все *****расчеты яркостей которые периодически всплывали на около зх форумах
сразу пойдут лесом)
- - - Добавлено - - -
добавил ограничение для гейна
чтоб нельзя было превысить максимальное снятое значение
не актуально
Smalovsky
30.03.2021, 15:35
Привет.
Скачал ZXMAK2 с sprinter8.net и игру(Thunder in the Deep) для Спринтера с того же сайта . В общем, не могу запустить игру, так как,по-видимому, для этого нужно работать с образом жесткого диска Спринтера. Может кто-нибудь подсказать какие есть утилиты для этого и как правильно запустить игру?
Smalovsky, эта игра не работает в эмуляторе. там идёт смена конфигурации "на лету". эмуль такое не потянет.
Smalovsky
30.03.2021, 16:01
Sayman, а что можно на эмуляторе Спринтерского посмотреть? Хочу увидеть возможности графического режима.
Smalovsky, эмулятор эмулирует "стоковую" прошивку, кроме режима акселератора (читай, блиттера) - "растяжение". Но его можно туда "дописать".
В остальном, обычный, стандартный конфиг Спринтера. Память вся как на реальной железке, fast ram, режимы графики и т.д.
http://sprinter8.net/demos
всё, кроме демки DooM. Ей нужен режим Спектрума (от туда запускается, но использует "расширенные" возможности) и тот самый режим растяжения.
игра "Кладр" так же работает.
Если я верно помню, все демки тут используют режим 320х256 8bpp, палитра 24 бита.
Smalovsky
26.04.2021, 18:14
Sayman, у меня эмулятор не открывает образы в зип. Может, есть другие образы дискет, кроме зип?
Smalovsky, попробуйте в настройках машины для Disk включить галочку WD93 No Delay
ZIP - это архив. Эмулятор может открывать файлы в ZIP архивах. Если не получается открыть диск, то вероятно у вас отсутствует контроллер дисковода в конфигурации машины.
Если вы пытаетесь образ винчестера подключить, в GUI нет настроек для этого. Нужно блокнотом открыть файл ZXMAK2.vmide и прописать в нем путь к образу диска и его параметры.
Привет ZXMAK. Не могли бы вы добавить эмуляцию VI53 для Byte48. Я хотел бы услышать Ламбада от Xудожника :)
добавить эмуляцию VI53 для Byte48
если будет время и исходники с эмуляцией ВИ53
исходники с эмуляцией ВИ53
Не шарп конечно, но то жи Си
https://github.com/vpyk/emu80v4/blob/master/src/Pit8253Sound.cpp
Может подойдут?))
Я писал о КР580ВИ53: Sound emulation ПЭВМ "БАЙТ" with КР580ВИ53 (https://zx-pk.ru/threads/20158-sound-emulation-pevm-quot-bajt-quot-with-kr580vi53.html)
Тесты, которые использовались для отладки эмуляции ВИ53 (http://sensi.org/scalar/ware/650/)
Тест чтения (на лету и с защелкиванием) ВИ53 для Вектора. (http://sensi.org/scalar/ware/894/)
Также есть поддержка эмулятора Virtual Vector - Эмулятор Вектора-06ц для Windows (http://sensi.org/~svo/virtualvector/)
Virtual Vector (VV)
Эмулятор ПЭВМ «Вектор 06ц» и его клонов.
Проект создал Титарь Игорь. г. Магнитогорск. Email: Titar_igor(at)mail.ru
Copyright © 1998 – 2014.
VV эмулирует следующие устройства:
1. Базовые компоненты: CPU: КР580ВМ80А, КР1821ВМ85А, КР580ВМ1, Z80A, Таймер
КР580ВИ53, Интерфейсный чип КР580ВВ55А, ПЗУ начального загрузчика (512 байт…32
кб), ОЗУ 64/128 кб, Видеоадаптер, Клавиатура, Устройства сопряжения с магнитофоном.
Вектор-06Ц: Эмуляция - КР580ВИ53 (https://zx-pk.ru/threads/11029-vektor-06ts-emulyatsiya-kr580vi53.html)
Может быть достаточно использовать файл vi533.rom в ZXMAK? Файл можно найти в этом посте в GenForm.zip :
В 2009 выкладывал пример проигрывания WAVа через ВИ53+бипер. (https://zx-pk.ru/threads/11029-vektor-06ts-emulyatsiya-kr580vi53.html?p=571762&viewfull=1#post571762)
Не шарп конечно, но то жи Си
https://github.com/vpyk/emu80v4/blob...t8253Sound.cpp
Может подойдут?))
или это: https://github.com/mamedev/mame/blob/master/src/devices/machine/pit8253.cpp
или это: https://github.com/mikechambers84/XTulator/blob/master/XTulator/chipset/i8253.c
ВНИМАНИЕ: Начиная с версии 2.6.1 релизы публикуются на официальном сайте http://zxmak2.codeplex.com/
Ссылка битая.
Ссылка битая.
>С 2017 года Microsoft закрыла CodePlex и предложила переносить проекты на GitHub
https://github.com/search?q=zxmak2
[bETA]mEN
10.01.2022, 00:31
Ссылка битая.
оно уже 100 лет как https://github.com/zxmak/ZXMAK2
>С 2017 года Microsoft закрыла CodePlex и предложила переносить проекты на GitHub
https://github.com/search?q=zxmak2
Не вопрос. Но поправить можно во избежании...
Не вопрос. Но поправить можно во избежании...
Рискну предположить, что автор тут уже сто лет и не появлялся.
Рискну предположить, что автор тут уже сто лет и не появлялся.
ошибаешься - " Последняя активность 13.12.2021"
ошибаешься - " Последняя активность 13.12.2021"
Ну судя по первому посту:
Последний раз редактировалось ZXMAK; 20.07.2018 в 18:26.
>С 2017 года Microsoft закрыла CodePlex
не понятно вдвойне =)
после закрытия codeplex проект переехал на github, ссылка в первом сообщении исправлена
ZXMAK
Привет ZXMAK. Долгое время меня здесь не было. Когда вы сделаете эмуляцию Byte-01?
ZXMAK
Когда вы сделаете эмуляцию Byte-01?
а что это?
Я долгое время другими проектами занимался, поэтому не помню многих деталей. Сейчас у меня интерес поправить ошибки эмуляции недок флагов и есть интерес сделать эмулятор на OpenGL/OpenAL, движок для графики есть - без перекомпиляции запускается на Windows, Linux и MacOS, но его нужно прикручивать к архитектуре эмулятора, поэтому есть мысль сделать отдельный более легковесный эмулятор под OpenGL с шейдерами для поддержки аппаратных особенностей видео спектрума (задержки видеосигнала для ink/paper), без UI, но с командной консолью.
может заодно и немного тайминги профи поправишь, раз в кои века то заглянул??
(задержки видеосигнала для ink/paper)
Что за задержка?
А можно в эмуле обновить PentEVO? Сделать Base и TSconf?
Что за задержка?
схемы для формирования ink и paper отличаются, поэтому длительность пикселов в видеосигнале незначительно отличается, в зависимости от того какой пиксел - ink или paper. Этой разницы достаточно, чтобы её заметить на экране. Есть демки которые за счет этой разницы картинки выводят.
схемы для формирования ink и paper отличаются, поэтому длительность пикселов в видеосигнале незначительно отличается, в зависимости от того какой пиксел - ink или paper. Этой разницы достаточно, чтобы её заметить на экране. Есть демки которые за счет этой разницы картинки выводят.
Это на каких именно моделях?
Spectramine
15.02.2023, 00:44
Это на каких именно моделях?
На фирме 16/48/128/+2.
На фирме 16/48/128/+2.
А есть ролики или картинки с примерами этих эффектов, чтобы это именно намеренно применялось где-то.
Spectramine
15.02.2023, 02:33
А есть ролики или картинки с примерами этих эффектов, чтобы это именно намеренно применялось где-то.
https://zx-pk.ru/threads/23797-testirovanie-emulyatorov.html?p=958611&viewfull=1#post958611
https://i121.fastpic.org/big/2023/0215/c8/797a901a55757590bfbba1fb372623c8.jpg (https://fastpic.org/view/121/2023/0215/797a901a55757590bfbba1fb372623c8.jpg.html)
Viktor2004
23.04.2023, 00:13
Простите великодушно, всю тему не прочитал. Подскажите пожалуйста как подключиться к этой виртуальной машине к gdbserver с помощью IDA PRO Remote debug
Может есть где такая тема или ссылка на инструкцию?
Viktor2004, в настройках добавить Debugger: GDB-Z80 Server
Viktor2004
23.04.2023, 10:22
добавить Debugger: GDB-Z80 Server
добавил
Как я понимаю, виртуальная машина должна перейти в режим ожидания сигналов от удаленного дебагера
А как это сделать?
он сразу начинает слушать порт 2000
дальше запускаем иду
Viktor2004
23.04.2023, 15:18
он сразу начинает слушать порт 2000
странно. Другие машины у меня при этом замирают и ждут команды IDA либо пошагово, либо по другому.
А тут запускается как ни в чем ни бывало и работает автономно
Ну вас же никто не заставляет пользоваться zxmak. Пользуйтесь MAME или QEMU, если не ошибаюсь они поддерживают этот функционал.
странно. Другие машины у меня при этом замирают и ждут команды IDA либо пошагово, либо по другому.
А тут запускается как ни в чем ни бывало и работает автономно
Ну нажмите паузу, замрет.
Или из иды пошлите сигнал останова.
- - - Добавлено - - -
А где вообще можно взять IDA с поддержкой отладки z80? У меня при загрузке бинаря работает только дизасм. Кнопки дебаггера неактивны, пункт меню Debugger не появляется.
Либо шашечки, либо ехать. Либо грузим бинарь и дизасмим его в обычном порядке, либо цепляемся к виртуальной машине и данные ловим оттуда.
Viktor2004
23.04.2023, 19:02
А где вообще можно взять IDA с поддержкой отладки z80?
Ну вот зачем вы это спросили? Я ведь раньше думал что у меня IDA поддерживает его. Оказалось что нет
Блин, раньше эмулятор был веселый, лезь куда хочешь, сейчас когда паттернов mvc unity итд докрутили, уже пол дня не могу найти как вызвать сброс из наследника BusDeviceBase
не могу найти как вызвать сброс из наследника BusDeviceBase
В BusInit сохранить _cpu = bmgr.CPU
Потом, когда надо, сделать _cpu.Reset()
Блин а я делегат RESET дёргал. Спасибо
- - - Добавлено - - -
Потом, когда надо, сделать _cpu.Reset()
Нет такого метода, нашел только такой костыль
_cpu.RST = true;
_cpu.ExecCycle();
_cpu.RST = false;
По идее нужно как то получить объект VirtualMachine у него есть этот метод, но как до него добраться, загадка
NEO SPECTRUMAN
25.02.2024, 01:27
не помню
это тут? можно было писать свои dll-ки с железом?
это можно делоть на нормальных сях а не на шарпах?
где выкопать примеры?
Раньше можно было dll с железками, так и делали, эмуль на C#
- - - Добавлено - - -
Хотя там что то в коде попадалось для подключение внешних dll но как это юзать теперь, когда в качестве IoC/DI юзается unity, хз. Надо ждать может автор заглянет сюда
не хорошо когда железка знает про VirtualMachine. С Reset да, есть такой костыль, хотелось бы чтото красивее, но не придумал как сделать чтобы сохранить возможность работы на уровне сигналов. Поэтому для сброса используется именно вариант
_cpu.RST = true;
_cpu.ExecCycle();
_cpu.RST = false;
этот код должен отработать нормально. Была задумка сделать все управление операциями типа сброс и т.п через команды отправляемые в поток эмуляции. Т.к. сейчас это делать очень неудобно из пользовательского GUI потока. Но пока так и не сделал.
Я сейчас на linux перешел, но пока в поисках сред для отладки кода на c++ и c#.
Для c++ использую codium, а для c# ничего кроме monodevelop не нашел.
Подумываю сделать OpenGL/OpenAL frontend, код под поддержку Win/Linux/MacOS уже есть, под Raspberry Pi 4 движок с OpenGL фронтендом на c# показывает очень неплохую производительность, работает шустрее чем нативные игрушки на c++ :) Нужно только прикрутить к эмулятору, но пока по сути сижу на raspberry pi 4, для которого codium и monodevelop тяжеловат, все еще в поисках более легковесной среды для отладки. И больше сейчас занят сигнальной обработкой и SDR.
В виду отсутствия удобных эмуляторов на Raspberry Pi, решил прикрутить нативную поддержку Linux к ZXMAK2. Пока прикрутил бекенд на OpenAL, графика хоть и криво и так работала, подправил чтоб предупреждение не мешало, дальше думаю бекенд на OpenGL прикрутить. Желательно потестить на разных Linux машинах и звуковых картах, чтобы выявить потенциальные проблемы. Если кому интересно поучастововать в тестах - пишите.
Очень здорово, тогда теоретически можно будет собрать zxmak2 и под haiku os.
anarchyman
20.10.2024, 19:41
Вопрос: А раз изначально для .NET писался, есть ли сборки для MacOS?
По части RPi - у меня сейчас малин последних нету, но могу например на RPi3 + Debian 12 затестить.
Но больше то конечно интересует версия для MacOS - у меня не самая последняя версия, но по необходимости готов быть и тестером и кто собирать будет.
на MacOS должно работать также как на Linux. Сборка отдельная не нужна, нужно только конфиг подправить.
Звук OpenAL вроде работает, графика пока медленная через WinForms, но на Raspberry Pi 4 работает играбельно.
Изменения в репозиторий пока не заливал, нужно настроить git и допилить сборку. Я заменил ildasm/ilasm для DirectX на патч с помощью Mono.Cecil после компиляции. Это ускорило сборку и позволило выкинуть длинную простыню с асмовым кодом, он теперь генерируется автоматически. И это дает возможность собирать проект в Monodevelop, но сам проект патча должен компилироваться первым, нужно это настроить.
Хотел выложить сборку под Linux для тестов тут, но форум не принимает аттачменты.
Хотел выложить сборку под Linux для тестов тут, но форум не принимает аттачменты.
Как вариант на гитхабе завести Issue новую (ну там типа "Linux Support Discussion") и туда в сообщения прикреплять.
А что можете сказать по поводу Haiku OS ?
А что можете сказать по поводу Haiku OS ?
если под него mono есть, то должно работать, гугление говорит что какие-то сборки mono под эту ОС есть, но в каком они состоянии не знаю.
Чтобы не заморачиваться можно установить сразу все из пакета mono-complete. Но возможно какие-то части не реализованы.
В минимальной установке для работы эмулятора понадобятся пакеты mono-runtime, libmono-system-drawing4.0-cil и libmono-system-windows-forms4.0-cil.
anarchyman
25.10.2024, 20:28
на MacOS должно работать также как на Linux. Сборка отдельная не нужна, нужно только конфиг подправить.
Благодарю за ответ! Попробую собрать под macos 12.7.6 (Monterey) / Intel.
Увы новее пока нету железа ноута :-(
Как вариант на гитхабе завести Issue новую (ну там типа "Linux Support Discussion") и туда в сообщения прикреплять.
Вот завел issue: https://github.com/zxmak/ZXMAK2/issues/8
там прикреплен архив с тестовой сборкой под Linux.
Под Linux проверял, под MacOS не проверял, но биндинги взял из кода который тестировался на MacOS и в теории тоже все должно работать.
для запуска нужно установить пакеты:
sudo apt install mono-runtime libmono-system-drawing4.0-cil libmono-system-windows-forms4.0-cil
sudo apt install libopenal-dev
запускать через bash скрипт zxmak2 или через командную строку: mono ZXMAK2.exe
При запуске вверху будет мигать ошибка EntryPointNotFoundException - это нормально, т.к. используется старый хост DirectX. Т.к. он на Linux недоступен будет рисоваться через winforms, а для мигающей ошибки я прикрутил таймаут, она через несколько секунд исчезнет.
OpenAL можно настроить в alsoft.conf, в качестве drivers наверное лучше выбрать alsa, чтобы звук шел напрямую в alsa
небольшое обновление тестовой сборки для Linux.
Добавлен нормальный полноэкранный режим X11 для Linux. Теперь можно полноценно играть :)
https://github.com/zxmak/ZXMAK2/issues/8#issuecomment-2442297187
https://i.imgur.com/uY3tHR5.png
пока без OpenGL, иногда могут наблюдаться ошибки при отрисовке, эмуляция при этом останавливается.
Лечится нажатием паузы и возобновления эмуляции.
На удивление клавиатура работает более отзывчиво чем в zemu и fuse. Хотя в качестве драйвера клавиатуры используются просто ивенты WinForms.
В качестве источника синхронизации можно использовать Time или Sound.
Для звука возможно великоват буфер, можно уменьшить в unity.config, вот тут:
<!-- Host WinForms -->
<register type="IHostSound" mapTo="HostSound_OAL">
<constructor>
<param name="sampleRate" value="48000" />
<param name="bufferCount" value="4" />
</constructor>
<lifetime type="transient" />
</register>
на самом деле получилась двойная буферизация. То количество буферов что указывается в конструкторе - это программный буфер. Еще 4 буфера OpenAL. Можно было бы меньше, но как показала практика не все звуковые карты вовремя обновляют позицию воспроизведения, поэтому могут быть обновления сразу по 2-3 буфера и нужен запас, чтобы не было срывов.
А можно еще добавить поддержку Wayland ?
А можно еще добавить поддержку Wayland ?
Зачем? X11 приложения вполне нормально работают через XWayland.
У меня Wayland Wayfire, эмулятор вполне нормально работает. А с OpenGL должно стать еще лучше.
Обновил тестовый билд: https://github.com/zxmak/ZXMAK2/issues/8#issuecomment-2453304024
- исправлен баг с изменением позиции окна при выходе из полноэкранного режима для X11 / wayfire / labwc.
- добавлена клавиатура X11, теперь на Linux есть полная поддержка всех клавиш
- добавлено автодетектирование контейнера конфигурации в зависимости от операционной системы. Теперь должно запускаться на Windows / Linux / MacOS "из коробки", без необходимости правки конфигов.
- исправлен баг с загрузкой SZX снэпшотов (процессор в состоянии выполнения префикса)
Для Linux осталось добавить поддержку мыши, джойстиков и OpenGL рендер.
Солюшен причесал, уже нормально билдится под linux. Скоро выложу.
а для windows обновлений больше не будет ?
под windows работает, проверял
добавляю поддержку TZX v1.2, если у кого-то есть образы ленты, содержащие циклы (LOOP) и хитрые блоки управляющие полярностью, просьба выложить для тестов.
Lethargeek
12.11.2024, 00:37
https://spectrumcomputing.co.uk/forums/viewtopic.php?t=11934
спасибо, нашел кое какие tzx для тестов, но к сожалению с LOOP блоком там нет.
Может ктото встречал такие tzx? Ну или вообще какие-то хитрые tzx, которые не каждым эмулятором открываются.
добавляю поддержку TZX v1.2
это тупиковый вариант, нужно переходить на PZX
http://zxds.raxoft.cz/pzx.html
это тупиковый вариант, нужно переходить на PZX
http://zxds.raxoft.cz/pzx.html
В наше время, когда места на дисках навалом, всякие защиты надо сохранять в виде WAV-а и не париться.
прогнал тест на всех своих tzx, нашел с LOOP - Zorro.tzx, работает.
https://spectrumcomputing.co.uk/forums/viewtopic.php?t=11934
Там есть список игр с блоком #28 Select:
I'm not sure if any of these are here on SC, but these are the filenames from those TOSEC collections:
Select
Bad Dudes vs. Dragon Ninja (1988)(Imagine)(48K-128K)[a]
Batman - The Movie (1989)(Ocean)(48K-128K)[t]
Cabal (1989)(Ocean)(48K-128K)[a3]
Cabal (1989)(Ocean)(48K-128K)[t]
Capitan Trueno, El (1990)(Dinamic)(ES)
Chase H.Q. (1989)(Ocean)(48K-128K)[t]
Continental Circus (1989)(Mastertronic Plus)(128K)[re-release]
Cybernoid - The Fighting Machine (1988)(Hewson Consultants)(48K-128K)[t]
Gnome Ranger (1987)(Level 9 Computing)(128K)[h]
Jabato vs Imperio - Libertad (1989)(Aventuras AD)(ES)
LED Storm Rally 2011 (1988)(Go!)(48K-128K)
Lone Wolf - The Mirror of Death (1991)(Audiogenic)(48K-128K)[ b ][aka Lone Wolf 3]
Magic Johnson's Basketball (1990)(Dro Soft)(48K-128K)(ES)
Night Shift (1991)(U.S. Gold)(48K-128K)
Power Drift (1989)(Activision)(48K-128K)[a]
Professional BMX Simulator (1988)(Code Masters Plus)(48K-128K)[a]
Savage (1988)(Firebird)[h][aka Project 5]
Star Wars (1987)(Domark)[Haxpoc-Lock loader]
Stardust (1987)(Topo Soft)(ES)[t]
Zynaps (1987)(Hewson Consultants)[a]
но к сожалению на TZX на spectrumcomputing.co.uk эти TZX без блока select, перепробовал несколько штук начиная с zynaps.
Может у кого-то есть версии из коллекции TOSEC с Select блоком?
- - - Добавлено - - -
tzxtestfiles.zip
это чтото из разряда креш тестов? :)
Мне пока такое рановато тестить, я еще обычные блоки отлаживаю...
У кого есть скачанный архив TOSEC? Нужна помощь.
Требуется вот этот файл для тестов: /Games/Zynaps (1987)(Hewson Consultants)[a].tzx
или какой-то из этого списка:
Select
Bad Dudes vs. Dragon Ninja (1988)(Imagine)(48K-128K)[a]
Batman - The Movie (1989)(Ocean)(48K-128K)[t]
Cabal (1989)(Ocean)(48K-128K)[a3]
Cabal (1989)(Ocean)(48K-128K)[t]
Capitan Trueno, El (1990)(Dinamic)(ES)
Chase H.Q. (1989)(Ocean)(48K-128K)[t]
Continental Circus (1989)(Mastertronic Plus)(128K)[re-release]
Cybernoid - The Fighting Machine (1988)(Hewson Consultants)(48K-128K)[t]
Gnome Ranger (1987)(Level 9 Computing)(128K)[h]
Jabato vs Imperio - Libertad (1989)(Aventuras AD)(ES)
LED Storm Rally 2011 (1988)(Go!)(48K-128K)
Lone Wolf - The Mirror of Death (1991)(Audiogenic)(48K-128K)[ b ][aka Lone Wolf 3]
Magic Johnson's Basketball (1990)(Dro Soft)(48K-128K)(ES)
Night Shift (1991)(U.S. Gold)(48K-128K)
Power Drift (1989)(Activision)(48K-128K)[a]
Professional BMX Simulator (1988)(Code Masters Plus)(48K-128K)[a]
Savage (1988)(Firebird)[h][aka Project 5]
Star Wars (1987)(Domark)[Haxpoc-Lock loader]
Stardust (1987)(Topo Soft)(ES)[t]
Zynaps (1987)(Hewson Consultants)[a]
SoftLight
13.11.2024, 11:09
У кого есть скачанный архив TOSEC? Нужна помощь.
Требуется вот этот файл для тестов: /Games/Zynaps (1987)(Hewson Consultants)[a].tzx
или какой-то из этого списка:
Select
Bad Dudes vs. Dragon Ninja (1988)(Imagine)(48K-128K)[a]
Batman - The Movie (1989)(Ocean)(48K-128K)[t]
Cabal (1989)(Ocean)(48K-128K)[a3]
Cabal (1989)(Ocean)(48K-128K)[t]
Capitan Trueno, El (1990)(Dinamic)(ES)
Chase H.Q. (1989)(Ocean)(48K-128K)[t]
Continental Circus (1989)(Mastertronic Plus)(128K)[re-release]
Cybernoid - The Fighting Machine (1988)(Hewson Consultants)(48K-128K)[t]
Gnome Ranger (1987)(Level 9 Computing)(128K)[h]
Jabato vs Imperio - Libertad (1989)(Aventuras AD)(ES)
LED Storm Rally 2011 (1988)(Go!)(48K-128K)
Lone Wolf - The Mirror of Death (1991)(Audiogenic)(48K-128K)[ b ][aka Lone Wolf 3]
Magic Johnson's Basketball (1990)(Dro Soft)(48K-128K)(ES)
Night Shift (1991)(U.S. Gold)(48K-128K)
Power Drift (1989)(Activision)(48K-128K)[a]
Professional BMX Simulator (1988)(Code Masters Plus)(48K-128K)[a]
Savage (1988)(Firebird)[h][aka Project 5]
Star Wars (1987)(Domark)[Haxpoc-Lock loader]
Stardust (1987)(Topo Soft)(ES)[t]
Zynaps (1987)(Hewson Consultants)[a]
игры по списку (https://disk.yandex.ru/d/bT2-gsGf5Ezakg)
Sinclair ZX Spectrum - Games - [TZX] (TOSEC-v2023-06-10).zip (https://disk.yandex.ru/d/bgcOZjhIoHf__A)
спасибо, вроде все необычные tzx файлы 1.20 которые у меня есть работают :)
yurymerkulov
13.11.2024, 20:13
Добрый день! Эмулятор scl формат понимает?
Я подключаю диск, потом наживаю RUN и... тишина. Ничего. Ни ошибки, ни загрузки. На любом SCL. Читал про KEMPSTON - его отключение ни на что не влияет.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot