Уже не первый раз, кажется, интересуюсь.
Почему у эмулятора отечественного компьютера, аудитория которого на 99.9% отечественная, анонсы на русскоязычном форуме на АНГЛИЙСКОМ? )
Вид для печати
* Allow write to mounted fdd/hdd images
можно этот пункт яснее описать, просто на Русском для форума?
* Ключ командной строки /bootN: теперь N (1...7) выбирает номер пункта меню начальной загрузки
* Предварительная подготовка для опции трассировки ЦПУ. Несколько изменений для linter'a.
* Отображение окна дизассемблера: устранена утечка ресурсов Интерфейса Графического Устройства (GDI).
* Разрешено изменение другими процессами образов Гибких Дисков (FDD)/Жёстких дисков (HDD) смонтированных в ukncbtl (это может быть удобно при отладке, можно перезаписать файлы в образе без отмонтирования или перезапуска ukncbtl).
* Просмотрщик спрайтов: Добавлены новые режимы отображения. Добавлено восстановление последнего режима отображения после перезапуска приложения. Улучшения прокрутки.
- - - Добавлено - - -
У меня есть несколько предположений. Первое -- программисты любят упражняться в английском (с переменным успехом). Второе -- анонсы на русском всё равно будут суржиком, смесью англоязычных терминов вперемежку с русскими пояснениями. А если всё описывать литературным русским то и вовсе будет издевательство над здравым смыслом.
ilynxy,
nzeemin, у себя 641 завёл и на сайт залил - полёт нормальный, подтверждаете SSE-процессоров поддержку ?
выше релиз 619 от НикитыСкрытый текст
, я столкнулся с тем, что единственным препятствием запустить эмулятор на 3-м пентиуме - оказалось, что компилятор по дефолту компилит SSE2 - начиная с того релиза , Никита поддержал
возможность запуска на старых (но мощных вполне) процессорах PIII - поколения, там саршие модели от 800 до 1.4 МГц и памяти кило или половина - и эмулятор не тормозит. Это рентабельно по многим причинам, на платах тех лет стоят реальные флопо-контроллеры, в эмуляторе пилишь образ, UKDSKP нарезаешь и тащищь на живую машину, у был частный момент, когда единственный рабочий системник остался на время под рукой PIII800EB - шикарный зверь, мех, мясо и UKNCBTL ) А как у 641 сборки с этим?[свернуть]
nzeemin я несколько не предусмотренным способом запускаю эмулятор - из под линукс используя WINE.
Все отлично работает за исключением интерфейса отладчика.
После запуска эмулятора с активными "Debug Views" все выглядит вот так:
https://i.ibb.co/6XGGCy4/Screenshot-20191117-015419.png
Если после этого выключить и включить обратно "Debug Views" то с отладчиком уже можно работать:
https://i.ibb.co/YytpWbY/Screenshot-20191117-015511.png
Правда пропадают кнопки в окнах отладчика(и ничего не происходить если потыкать мышкой там где они должны быть)
Это в общем то не мешает - все что нужно можно сделать используя меню или горячие клавиши.
За исключением окна "Memory" - в нем ничего не переключить без кнопок.
Понятно что эмулятор разрабатывался под виндовс и там он работает без нареканий.
Но есть небольшая надежда, что у вас могут быть предложения что вызывает подобное поведение или даже удастся исправить.
А еще ведь есть версия эмулятора построенная на QT, но она давно не синхронизировалась с основной версией :(
Как по вашему, насколько сложно привести ее в соответвие с основной?
Бага в Wine походу такая же как в ReactOS - они неправильно рассчитывают размеры вертикальных тулбаров, получаются что они накрывают окно с информацией. Я им репортил эту багу ещё в 2015 году: https://jira.reactos.org/browse/CORE-10619
Сложно сказать что я тут могу сделать, учитывая что я не запускаю Wine.
В окне Memory можно переключаться без кнопок: ткнуть туда чтобы там был фокус, пробел переключает режимы, G - перейти по адресу, B либо W - переключатель между словами/байтами.
Поработаю над Qt-версией. Пока только обновил там emubase.Цитата:
А еще ведь есть версия эмулятора построенная на QT, но она давно не синхронизировалась с основной версией :(
Как по вашему, насколько сложно привести ее в соответвие с основной?
randomizer, очевидный вариант = откусить 20гб и поднять там ХР какую-нибудь или 7 = все эмуляторы сразу "залетают" )
по SSE для последней сборки пожалуйста уточните! ) это ведь по своему важный момент )
- - - Добавлено - - -
изменения он может и внёс, а вот про SSE или не знает или троллит (
и даже после уточнения не удасужил ответом - важный? сроки? сессия?
мне всегда почуму то тревожно, когда кто то встревает в UKNCBTL - привык к стабильности релизов,
а тут всякие lyn...
hobot, осталось всё также по SSE, не переживай.
Сейчас стало свободное время появляться, потихоньку разбираю завалы и по эмуляторам тоже.
Меня радует, что эмулятор явно стал более востребован со стороны отладчика - а значит, люди пишут софт.
- - - Updated - - -
randomizer, по Qt-версии вам что наиболее важно увидеть доделанным?
nzeemin, я так понял отдельно "хотящие странного" граждане вовсю и всерьёз хотят линух на живых машинах,
объяснять про "ресурсы" и RT-11 бесполезно, старшие машинки "дорого" же, а любые трудности - есть повод обозвать 0511 "чебурашкой" ) В целом я рад конечно интересу к машинке ... возможно что то красивое нас ждёт )
Уф, попробую определится :)
* запоминание выбранных в меню режимов - сейчас запоминается смонтированный образ и все. Хочется например что бы если закрыл эмулятор показывающим отладчик, то и вновь запустившись он показывал отладчик и т.д.
* опцию коммандной строки -boot
* выбор скорости эмуляции для сокращения времени загрузки ОС
* клавиши F7 и F8 забинденные на Step Into и Step Over в отладчике
* поддержку палитр. Сейчас очень странные цвета в цветном режиме когда переключешь палитру. При этом в Grayscale режиме отображается цвет.
* что то не то с цветами в отлачике, основной текст заметен но нечитабелен
https://i.ibb.co/cwbmKJj/Screenshot-20191117-221524.png
- - - Добавлено - - -
Только что обнаружил что утилиты ukncbtl-utils содержат Makefile и все без проблем собирается :v2_dizzy_punk:А я их тоже через wine запускал :)
Вопросик можно?
В реальной машине в мониторе ЦМ системное ОЗУ читается до конца памяти,
а в эмуляторе с адреса о172724 - нули. Почему?
Манипуляции делаю одни и те же.
https://pic.maxiol.com/thumbs2/15741...realemulcm.jpg
Идея по доработке отладчика :)
Было бы удобно если была бы возможность поставить точку останова для отладчика прям в исходниках.
Например использовать неизвестный процессору код команды, по нему эмулятор поймет что здесь нужно остановится и перейти в отладчик.
Или как варинт использовать инструкцию HALT, а в эмуляторе сделать переключатель который будет определять как эту инструкцию обрабатывать.
Да, я думал про это - сделать больше возможностей для остановки в отладчике.
Такие как - инструкция HALT, прерывание HALT, неизвестный код команды, обращение в несуществующую память итп.
Как будет время поработаю над этим.
Насчёт исходников не всё так просто.
Сейчас точка останова с адресом только одна на процессор, задаётся как gXXXXXX в консоли отладчика.
Надо думать как это расширять.
Для показа исходников есть режим "субтитров" - можно подготовить текстовый файл где в начале стоят адреса, тогда в окне дизасма тыкаем, нажимаем 'S', выбираем такой файл - видим комментарии к коду - обычно я это использовал когда бегал отладчиком по ПЗУ. Была ещё мысль научить отладчик понимать .LST-файлы, получаемые от линковщика, но пока не добрался до этого.
И спасибо что пользуетесь эмулятором и отладчиком.
Говоря про исходники я как раз думал об останове на несуществующей комманде или HALT.
Думаю проще например добавить HALT в код там где нужен останов, вместо выискивания адреса в .LST(а в выводе gas в добавок все шеснадцатиричном виде), и задание остановов через gXXXXXX
Так далеко у меня мысли не заходили. :) Когда отлаживаешь свой собственный код несложно сопоставить дизасемблированный вариант с тем что написал.
Спасибо что прислушываетесь и совершенствуете эмулятор :v2_smile:
ilynxy, ну откуда мне знать подробности...были в прошлом версии эмулятора, собранные соавторами.
В целом я без претензиЙ, важный момент уточнили, поддержка SSE по прежнему в силе (!)
Цитата:
Эти тулы надо собирать под 32-битный таргет если хост 64-битный.
(C) Svofski.
nzeemin, я забывал написать, с символами псевдографики " не всё хорошо "
через буфер выводится так
на экране UKNCBTLКод:╙╣╣╣╣╣╣╣╣╣╚╣╣╣╣╣╣╣╣╚╣╣╣╣╣╣ё
╥ Address ╥ Size ╥ Free ╥
╔╣╣╣╣╣╣╣╣╣╟╣╣╣╣╣╣╣╣╟╣╣╣╣╣╣╝
╥ 023660 ╥ 000710 ╥ * ╥
╥ 024576 ╥ 000176 ╥ * ╥
╥ 025002 ╥ 052762 ╥ ╥
╕╣╣╣╣╣╣╣╣╣║╣╣╣╣╣╣╣╣║╣╣╣╣╣╣╧
https://pic.maxiol.com/images2/15753...2162354011.png
как то так...
nzeemin, по эмуляции AZ-контроллера вопрос, сроки не важны - важно можно ли вообще ожидать виртуальный вариант для UKNCBTL ? Допустим наличие ЖД в эмуляторе позволяет проверить что то на запуск с WD устройства из классического ПО УК-НЦ (не про DEC!) ?
Может я плохо смотрел, но я там не увидел как видится AZ контроллер со стороны УКНЦ - видимо как сетевая карта, но детали мне не очень понятны.
Со стороны эмулятора, я всё откладывал переделку работы с устройствами на шине МПИ, а это надо всё-таки сделать - так чтобы каждое устройство было отдельным классом, и маппинг на адресное пространство делался автоматически. После этого уже стоит делать реализацию остальных устройств - а в этом списке уже есть RAM-диски и джойстики.
Полгода назад я переехал в Москву, затем сильно вложился в активности на работе, сделал несколько публичных выступлений - не так много было времени на эмулятор, сорри.
Titus имеет в виду "потактово-точную эмуляцию", и донимает меня этим с момента моего появления на этом форуме.
Сейчас, в частности, эмулятор UKNCBTL написан так, что каждая инструкция выполняется за определённое число тактов, зависит от инструкции, типа адресации, и иногда от операндов - это неточное приближение. Длительность для каждой операции выставлена "ну где-то получается так".
В реальности всё намного сложнее, потому что:
1. Аппаратная реализация процессора гораздо сложнее, в частности, там есть предвыборка операций.
2. На длительность операций влияют другие устройства - они подтормаживают выполнение операции на шине МПИ - мешают процессору выбирать команды и выполнять их, возникают дополнительные задержки.
Плюс ко всему этому, есть несколько вариантов схемотехники УКНЦ и несколько вариантов управляющих микросхем.
hobot, не надо так. Titus много сделал и продолжает делать для этой платформы, и я лично ему очень благодарен за его вклад.
А такой эмулятор в принципе то можно создать? Ведь получается, что для потактовой эмуляции фактически нужно знать точные временные диаграммы работы устройств на МПИ и даже, быть может, внутреннюю структуру СБИС, используемых в них. И не факт, что всю необходимую информацию можно получить из описания микросхем в справочнике и принципиальных электрических схем.
Отдельные кусочки паззла уже есть, см. темы https://zx-pk.ru/threads/23978-tsifr...e-vse-vse.html и https://zx-pk.ru/threads/30964-rever...515khm1-2.html
Но, как правильно замечает Titus, фактически ядро эмулятора надо будет переписывать. Кто когда этим будет заниматься - неизвестно.
- - - Updated - - -
Кстати, есть ещё один эмулятор УКНЦ который вполне можно довести до ума не особенно большими усилиями - драйвер uknc в составе MAME/MESS.
Может @shattered до него доберётся.
https://github.com/mamedev/mame/blob...ivers/uknc.cpp