Вход

Просмотр полной версии : Эмулятор УКНЦ - UKNCBTL



Страницы : 1 2 3 [4] 5

Alex_K
10.03.2013, 18:51
И ещё момент, насколько идеален образ ПЗУ для эмулятора? Может быть в нём что-то
барахлит ( в наследство от реальной железяки) ? Я гипотетически интересуюсь возможностью - идеального образа ПЗУ ?
Естественно где-то чего-то прибарахливает, но не всегда это без последствий можно вылечить, т.к. код станет другого размера, если чуть больше, то не влезет, может измениться точка входа, которую используют сторонние программы. Ну и тд и тп.

---------- Post added at 18:51 ---------- Previous post was at 18:49 ----------


А вернуть поправленный в реальную машинку это уже наверное посложнее операция (если в целом возможна) ?
Это надо новые микросхемы ПЗУ. 1801РЕ2 - это масочные ПЗУ, прошивка делается на заводе, уже не сотрешь и не перешьешь. Аналогами являются 573РФ3 и 1801РР1, а также вроде какая-то из серии 1809, но где их достанешь. А на ходовые надо городить обвязку для работы с МПИ.

hobot
11.03.2013, 19:13
515 версию UKNCBTL + save_state для Knight выложил так же и на игровом форуме
http://www.old-games.ru/forum/showthread.php?p=968491#post968491
По ссылке на главной мордочке архива версия эмулятора так же обновлена до 515 )
http://archive.pdp-11.org.ru/EMULATORS/UKNCBTL_HDD/

nzeemin
17.03.2013, 12:52
Добавил режим 1120 x 864 Interlaced -- это масштабирование 1.75 x 3.
Почти такой же как существующий "Screen Mode 5" 1280 x 864.

nzeemin
14.04.2013, 18:49
В этой версии:

В главное меню справа добавлена команда Fullscreen; в режиме Fullscreen теперь скрвывается полоса статуса.
В диалоге Settings добавлен выбор рендера; для перехода к выбранному рендеру требуется перезапустить эмулятор.
Файл ПЗУ uknc_rom.bin ищется сначала в папке где находится exe-файл эмулятора; если не найден то берётся из ресурсов.

nzeemin
23.05.2013, 15:45
В этой версии в отладчике добавлена прикольная фишка -- стрелочки переходов:

http://img-fotki.yandex.ru/get/9153/7448436.8/0_7e3aa_573715f3_XL.png

hobot
08.03.2014, 02:23
http://s6.hostingkartinok.com/uploads/images/2014/03/055496518675100ddfaeeb3cf290f801.png (http://www.old-games.ru/forum/showpost.php?p=1080084&postcount=27)

Продублирую и здесь ссылку на сборник игр
(в отличие от первого 40in1 (http://zx.pk.ru/showpost.php?p=636821&postcount=185)), теперь и 100% УК-НЦшный (UKNCBTL)
http://zx.pk.ru/showpost.php?p=685534&postcount=281

nzeemin
31.12.2014, 14:43
Собрал версию 542.
По сравнению с версией 534 -- только минорные фиксы.

Обнаружил что в мае прошлого года Google ограничил возможности Google Code в части Downloads -- и теперь я не могу выкладывать туда новые релизы. Поэтому пока положил на Google Drive.

Download link: https://docs.google.com/uc?authuser=0&id=0B465kq_cVq2-VFpUV3lPdnY3UXc&export=download

Download from GitHub: https://github.com/nzeemin/ukncbtl/releases/download/release-1.0.542/UKNCBTL-542-exe.zip

Titus
31.12.2014, 15:00
Собрал версию 542.
По сравнению с версией 534 -- только минорные фиксы.

Вообще-то можно и указать, что за 'минорныр фиксы'. Надеюсь, 'минор' - это не увод эмулятора в сторону грусти и меланхолии)

nzeemin
31.12.2014, 15:17
Вообще-то можно и указать, что за 'минорныр фиксы'. Надеюсь, 'минор' - это не увод эмулятора в сторону грусти и меланхолии)

Минорный в значении "малозначимый".
Вообще все коммиты тут: http://code.google.com/p/ukncbtl/source/list -- можно посмотреть что было после 534 и до 542 включительно:

UKNCBTL: DisasmView fixed jump curves. -- я обнаружил что кривые неправильно показываются вместе с субтитрами, отключил кривые в режиме субтитров.
UKNCBTL: emubase comments. -- добавил комментарии в стиле doxygen
UKNCBTL: emubase -- Doxygen docs; Disasm.h removed.
UKNCBTL.Qt: emubase update, doxygen comments, minor changes.
UKNCBTL emubase: fixes on cppcheck warnings.
UKNCBTL emubase: fixes on cppcheck warnings (2).
"GO" command renamed to "START".

Titus
31.12.2014, 15:24
Минорный в значении "малозначимый".

Да знаю я) Это юмор такой)

Немножко еще попридираюсь: зачем список изменений на английском? Ну, я понимаю, если б эмуль УКНЦ использовали какие-нибудь буржуи. Но нет, контингент исключительно наш, притом малочисленный.

ZEman
31.12.2014, 19:32
nzeemin, как бы ни были малы изменения в новой версии, всё-равно спасибо за отличный эмулятор и что не забрасываете его.
и с новым годом всех !

hobot
03.01.2015, 02:21
Обнаружил что в мае прошлого года Google ограничил возможности Google Code в части Downloads
Огромная благодарность за новую версию.
По части Downloads - на сайте держу архив самой последней сборики под Win32.

Удачного Нового Года! )

TheGWBV
18.01.2015, 23:41
И ещё момент, насколько идеален образ ПЗУ для эмулятора? Может быть в нём что-то
барахлит ( в наследство от реальной железяки) ? Я гипотетически интересуюсь возможностью - идеального образа ПЗУ ?

Вот на этом образе-дискете находятся исходники v3.00 ПЗУ УКНЦ (которые не успели пойти в серию). При передаче склада дискет B&B также упоминалось, что это как раз таки избавленная от неприятных глюков версия ПЗУ...

UKNC_PZU_v300_Sources_.IMG (https://yadi.sk/d/WYfUqDj9e5LMZ)

hobot
19.01.2015, 04:12
Вот на этом образе-дискете находятся исходники v3.00 ПЗУ УКНЦ

Alex_K, а получиться это ПЗУ погонять в UKNCBTL - очень интересно, дайте пожалуйста знать !

DJs3000
22.01.2015, 18:49
А в реальную машину залить вариант?

---------- Post added at 18:49 ---------- Previous post was at 18:44 ----------

TheGWBV, исходники были открытыми Оо? или вы имели отношение к производству УКНЦ?

TheGWBV
23.01.2015, 21:42
TheGWBV, исходники были открытыми Оо? или вы имели отношение к производству УКНЦ?

А Вы с какой целью интересуетесь? ;)

В молодости пару-тройку месяцев довелось пользоваться УКНЦ, но он засбоил, неудачно был отремонтрован и в итоге помещен в чулан в наказание :)

Исходники обнаружились в Складе дискет (http://zx-pk.ru/showpost.php?p=775835&postcount=399)

DJs3000
23.01.2015, 23:45
А Вы с какой целью интересуетесь? ;)

В молодости пару-тройку месяцев довелось пользоваться УКНЦ, но он засбоил, неудачно был отремонтрован и в итоге помещен в чулан в наказание :)

Исходники обнаружились в Складе дискет (http://zx-pk.ru/showpost.php?p=775835&postcount=399)

С целью удовлетворить своё любопытство :D
Хорошо что все эти "сокровища" не были выкинуты в мусор лет 20 назад.
Мне всё же интересно возможно ли заменить этот "биос" в ПЗУ реальной УКНЦ? Яб даже сам попробовал еслиб кто-то скомпилил бы исходники и выложил бы результат.

nzeemin
04.05.2015, 13:42
В связи с тем что Google Code через некоторое время закрывается, проект UKNCBTL перенесён на GitHub. При этом я разбил его на несколько подпроектов:

https://github.com/nzeemin/ukncbtl -- основной проект, ядро эмуляции и код интерфейса под Win32
https://github.com/nzeemin/ukncbtl-renders -- рендеры
https://github.com/nzeemin/ukncbtl-testbench -- тестовый стенд
https://github.com/nzeemin/ukncbtl-qt -- версия на основе Qt фреймворка, под Windows, Linux и Mac OSX
https://github.com/nzeemin/ukncbtl-utils -- утилиты ESCParser, rt11dsk, sav2wav, UkncComSender

Бинарники также будут выкладываться на GitHub: https://github.com/nzeemin/ukncbtl/releases

hobot
28.09.2015, 21:07
RT-11FB v04.00G - экспериментальная дискета
4-й версии монитора для УК-НЦ, данный образ
создан исключительно в научно-познавательных
целях.


http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/RT11V0400G_UKNC_SPECIAL/SUKNCBTL_SCREEN.png (http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/RT11V0400G_UKNC_SPECIAL/UKNCBTL_SCREEN.png)

Ссылка на объект в архиве >
http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/RT11V0400G_UKNC_SPECIAL/

:redface:

nzeemin
06.10.2015, 21:47
Странички с описанием эмулятора и сопутствующих вещей перетащил сюда:
https://github.com/nzeemin/ukncbtl-doc/wiki
https://github.com/nzeemin/ukncbtl-utils/wiki

troosh
06.10.2015, 22:55
https://github.com/nzeemin/ukncbtl-doc/wiki
https://github.com/nzeemin/ukncbtl-utils/wiki

А содержимое wiki с сайта Феликса тоже попадет на гитхаб? А то там часть ссылок уже битые (например на 3do-scene.com)...

nzeemin
06.10.2015, 23:37
А содержимое wiki с сайта Феликса тоже попадет на гитхаб? А то там часть ссылок уже битые (например на 3do-scene.com)...

Спасибо за вопрос, напомнили.
Из того что есть у Феликса я конечно буду забирать только вещи связанные с УКНЦ.

Часть материалов дублирована на Emuverse, возможно, туда стоит поместить и остальные документы:
http://www.emuverse.ru/wiki/%D0%A3%D0%9A%D0%9D%D0%A6
(UPDATE: вроде как всё что нужно продублировал на Emuverse)

Какие-то материалы думаю также осядут здесь:
https://github.com/nzeemin/ukncbtl-doc

nzeemin
21.10.2015, 21:39
Вечером пришло в голову как немного ускорить основной цикл.
Может дать прирост скорости до 20%, но чем больше экран тем конечно прирост будет меньше.

https://github.com/nzeemin/ukncbtl/releases/download/release-1.0.552/UKNCBTL-552-exe.zip

nzeemin
30.11.2015, 00:25
Эмулятор версии 552 работает под ReactOS )
Правда, не без глюков отрисовки, но зато работает.
Проверялось под ReactOS bootcd-70206-dbg.iso, VirtualBox 5.0.10.
https://img-fotki.yandex.ru/get/3313/7448436.8/0_9de7a_ef7e9fe6_orig.png

hobot
27.01.2016, 02:56
nzeemin, по поводу звука, напомнили, решил всё таки спросить :
Можно ли убрать влияние UKNCBTL на системные настройки звука, баланс влево и понижение громкости не все бортовые звуковые устройства с пониманием встречают.

nzeemin
27.01.2016, 11:28
nzeemin, по поводу звука, напомнили, решил всё таки спросить :
Можно ли убрать влияние UKNCBTL на системные настройки звука, баланс влево и понижение громкости не все бортовые звуковые устройства с пониманием встречают.

Как-то не обращал на это внимания.
Когда будет время -- попробую посмотреть.

MacBuster
09.05.2016, 16:49
Кстати, по поводу звука. На моей машине, при включенном звуке эмулятор работает со скоростью 100-103% реальной УКНЦ, а если звук выключить, то скорость подскакивает до 256-260%. Весьма неожиданный эффект однако.

Titus
09.05.2016, 17:18
Кстати, по поводу звука. На моей машине, при включенном звуке эмулятор работает со скоростью 100-103% реальной УКНЦ, а если звук выключить, то скорость подскакивает до 256-260%. Весьма неожиданный эффект однако.

Это нормальный эффект. С включенным звуком скорость стандартная, а с выключенным - максимальная доступная для твоего компа, на сколько я понимаю.

MacBuster
09.05.2016, 18:48
Это нормальный эффект.
С чего это он нормальный? Звук это звук, производительность это производительность.

Titus
09.05.2016, 20:52
С чего это он нормальный? Звук это звук, производительность это производительность.

В том смысле, что так задумывали авторы эмулятора)

MacBuster
10.05.2016, 09:44
В том смысле, что так задумывали авторы эмулятора)

Нда. Со стороны выглядит так же логично, как фраза - "Если вам отключили горячую воду, откройте входную дверь и она появится".

Titus
10.05.2016, 10:48
Нда. Со стороны выглядит так же логично, как фраза - "Если вам отключили горячую воду, откройте входную дверь и она появится".

Я к тому, что это не глюк, как ты мог подумать изначально)

У меня в эмуле, например, скорость всегда привязана к кадровой развертке. И если у тебя моник 60Hz, то эмуль будет работать быстрее на 20%. А если 100Hz, то уже в 2 раза быстрее. Это тоже не айс для конечного пользователя, зато плавно.

hobot
10.05.2016, 21:12
Я к тому, что это не глюк
на скорость эмуляции в UKNCBTL так же влияет выбранный режим рендеринга-расширения экрана эмулятора.

Titus
10.05.2016, 21:28
на скорость эмуляции в UKNCBTL так же влияет выбранный режим рендеринга-расширения экрана эмулятора.

Логично, ведь чем тяжелее рендеринг, тем больше он кушает быстродействия.

MacBuster
10.05.2016, 21:46
Логично, ведь чем тяжелее рендеринг, тем больше он кушает быстродействия.

Моей машине на режим плевать, стабильно 256% при выключенном звуке.

Titus
10.05.2016, 21:52
Моей машине на режим плевать, стабильно 256% при выключенном звуке.

Странное число) Было бы 146%, я бы еще поверил, но 256... пахнет программистами)

MacBuster
11.05.2016, 23:39
Странное число) Было бы 146%, я бы еще поверил, но 256... пахнет программистами)

Бывает что ненадолго прыгает до 260, так что это просто совпадение.

nzeemin
31.05.2016, 22:55
В другой ветке обсуждения я выложил первую версию утилиты Sav2Cart:
http://zx-pk.ru/threads/24886-portirovanie-lode-runner-bk-gt-uknts.html?p=872829&viewfull=1#post872829

shattered
03.09.2016, 14:24
Потихоньку пишу очередной эмулятор УКНЦ (точнее, драйвер для MAME), есть вопросы

- сколько было разных версий железа и когда они выпущены? вижу, что есть две разных версии ТО (с 2-словной таблицей строк и 2/4-словной)
- сколько было разных версий ПЗУ? есть какая-то официальная их нумерация?
- сколько одновременно нажатых клавиш отслеживает ХМ1-031? пока что считаю, что все возможные.

ZEman
03.09.2016, 17:56
nzeemin, будет ли обновляться ваш эмулятор ?
Скоро уже год будет с последнего обновления.
Переходить на левые эмуляторы типа "маме" и "mess" совсем нет никакого желания.

shattered
03.09.2016, 18:52
Пастернака не читал, но осуждаю?

ZEman
03.09.2016, 19:25
не тот случай.
я mess пользовался много раз, ужас а не эмулятор.
впрочем удивительного тут мало, эмуляторы различных систем (а тем более компьютеров) делают не один год, есть много эмуляторов которые делаются уже больше 10 лет и до сих пор идеала нет.
а тут в какой-то один эмулятор пытаются запихать всё и вся.
результат не трудно догадаться какой.
и это не только моё мнение, очень многие так-же говорят.

shattered
03.09.2016, 20:28
очень, очень простой взгляд на вещи. но тут не место для такого спора. вам решать, пользоваться mame/mess или нет, мне достаточно того, что у него удобная архитектура для написания новых эмуляторов.

nzeemin
03.09.2016, 22:16
nzeemin, будет ли обновляться ваш эмулятор ?
Скоро уже год будет с последнего обновления.
Переходить на левые эмуляторы типа "маме" и "mess" совсем нет никакого желания.

После релиза 552 (октябрь 2015 года) в исходниках менялось вот что:
- MemoryView toolbar
- Animated screenshot feature removed -- no one use it.
- DebugView: memory map schema added.
- Emubase: Type names replacement BYTE/WORD/DWORD -> uint8_t/uint16_t/uint32_t
- Emubase: BOOL/TRUE/FALSE ->bool/true/false.
- emubase/Processor.h: minor fixes back-ported from Qt version.
- Settings: Use DebugFontName from settings file.
- Emubase: reflect changes in ukncbtl-qt -- nothing special, just warning fixes.
- Emubase: Get rid of HIBYTE/LOBYTE, get rid of LOWORD/HIWORD.
- Utils: BYTE/WORD/DWORD -> uint8_t/uint16_t/uint32_t, BOOL/TRUE/FALSE -> bool/true/false.
- Fixes for VS2013 compiler warnings.
- Emubase: Inlining more methods.
- Emubase/Processor: Split some ExecuteXxx methods to word/byte methods.
- Adding VS2013 project.
- ConsoleView: 'udl' command -- dump display list to file.
- Fixes driven by PVS-Studio warnings.
- Splitter between DisasmView and MemoryView.
- Unifying view creation function names.
- UKNCBTL.h/cpp renamed to Main.h/cpp.
- Settings: Debug font selector added.

Таким образом, это "приборка" в исходном коде и небольшие улучшения для отладчика.
Можно было бы сделать релиз, но вроде как повода нет.

ZEman
04.09.2016, 07:43
если можно скомпильте пожалуйста :)

nzeemin
17.09.2016, 15:08
Извиняюсь что затянул -- приболел.

https://github.com/nzeemin/ukncbtl/releases/download/release-1.0.579/UKNCBTL-579-exe.zip

hobot
17.09.2016, 22:52
UKNCBTL 579 (https://github.com/nzeemin/ukncbtl/releases/download/release-1.0.579/UKNCBTL-579-exe.zip)

Никита! Доброго времени и здоровья (!).
Я хотел вопрос про звук в UKNCBTL снова поднять раз случился очередной релиз эмулятора.
579 - у меня на главной машине в режиме полный экран (без звука) выдаёт не плавающий 256, на ноуте
при тех же параметрах (рендеринг, полный экран) плавает между 97% и 120%.
То есть, на ноуте вполне комфортно работать не дергая звук, но на более мощном стационаре начинаются
проблемы с клавиатурой (залипания из за повыш. скорости эмуляции) и просто не всегда нужен настолько
разогнанный УК-НЦ ))) Приходится врубать звук и
1. Он очень плохо влияет на системные настройки бортовой звуковой карты.
2. После завершения работы с эмулятором каждый раз руками приходится поправлять баланс и громкость
3. Значение громкости (которое UKNCBTL выставляет) на некоторых звук. картах (интегр.) не тихо играет, а наоборот вызывает перегруз в
левом канале (???)
4. Самое не комфортное - нельзя гонять УК-НЦ как ноуте под МП3-литературу и lossless музыку (увы).

У меня скромное пожелание \ вопрос - можно ли обмануть быстродействие т.о. что звук считать
включенным но не воспроизводить его - было идеально для быстрых ПЦ (!) (идея иметь скорость эмуляции близкой
к 100-110, но не слышать трык-трык УК-НЦшный в наушниках-колонках). И возможно ли, что бы
эмулятор имел как то свою звуковую настройку и не делал весь системный звук только в левом со
спорным уровнем громкости. В общем хочется идеального как всегда ))) Какие вообще тут могут
быть реальные решения, можно это обсудить???

http://storage5.static.itmages.ru/i/16/0917/s_1474121755_3502857_7699eedb81.png (http://itmages.ru/image/view/4897967/7699eedb)

nzeemin
24.09.2016, 14:25
Вернул когда-то давно сделанную опцию Emulator > Real Speed, действует при выключенном звуке, притормаживает главный цикл с тем чтобы скорость эмуляции была близка к 100%.

- - - Updated - - -

Ещё одна экспериментальная версия (581) -- добавил опцию "Speed 2x".
На моей машине работает отлично, но неизвестно как будет на других, жду отзывов.
https://github.com/nzeemin/ukncbtl/releases/download/release-1.0.581/UKNCBTL-581.exe.zip

ZEman
24.09.2016, 15:25
да, speed 2x работает, у меня скорость выросла до 202 - 213%
но, только с выключенным звуком, если звук включить скорость не меняется.

hobot
24.09.2016, 20:24
экспериментальная версия (581) (http://zx-pk.ru/attachment.php?attachmentid=58317&d=1474716174)

Отлично работает! По умолчанию и с max speed - выдаёт 456% на большой машине у меня !!!
2Х - соответственно где то половину от максимума (плавает) и режим Реальной скорости 103-113 без звука
плавает, что вполне приемлемо ( я о том, что с клавиатурой можно спокойно работать!!!).
Предлагаю 581 не считать экспериментальной, а считать самой свежей и правильной версией!
Я именно её собираюсь на сайте у себя в качестве обновления залить.

На ноуте (там проц слабенький) картинка другая (прежняя по существу - там 113 во всех ускоренных режимах без звука - это максимум, а реальный на ноуте выдаёт 100-103 как-то так!!! - не забываем, что скорость ещё и от режима рендеринга зависит).

Ура!

ZEman
24.09.2016, 20:50
hobot, 456% на max speed ?
что у тебя за компьютер такой, у меня на max speed 1332% выдаёт.

у меня intel core i5 3.6 ггц, 16гб оперативки, nvidia gtx750.

hobot
03.12.2016, 13:38
nzeemin, тут момент такой - баг репорт от Александра Петросяна, я ему и ещё нескольким программерам из Зеленограда скинул ссылку на трилогию LODE RUNNER для УК-НЦ (хотел что бы ребята порадовались - понастальгировали), оказалось, что такой момент




я собрал интерпретатор под мак
https://github.com/nzeemin/ukncbtl-qt
подключил к нему образ дискеты
http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/FBITGAMES_SYMDOCKER/
(отдельно доставила метка тома "PAF80" ;) помню, это у меня при написании PAF Commander вышли побочные результаты -- форматировщики PAF40 и PAF80 и ещё один, который секретным сектором занимался)

увы, не смог в эмуляторе с диска загрузиться.
меню вижу, а дальше никак.
цифры не работают (1 попадает на 6).
стрелки тоже (раз заработали, потом никак).

можно попробовать win32 версию внутри эмулятора windows.
как-нибудь попробую.

PAF



Я посоветовал (что для меня естественно) последнюю сборку 581 под Win.
Скинул прямую ссылку. Захотят поиграют само собой - видимо QT застряла
с кучей детских болезней ещё ?

nzeemin
03.12.2016, 14:08
Qt-версию обновляю в последнюю очередь.
Linux и Mac под рукой у меня нет.
Поэтому естественно что там все баги собраны какие есть.

hobot
03.12.2016, 14:10
Поэтому естественно что там все баги собраны какие есть.
Я так и ответил - в смысле, что приоритет самый низкий у QT,
то что ребята пересели на Маки ИМХО:общая тенденция какая-то, не факт что личная инициатива )))

nzeemin
05.02.2017, 01:19
Сделал постоянно действующую голосовалку "Чем Никите Зимину стоит заниматься" -- чтобы понять заинтересованность в моих проектах:
https://goo.gl/forms/Fs04Kec8ZveDBAsj2

Titus
05.02.2017, 05:07
Сделал постоянно действующую голосовалку "Чем Никите Зимину стоит заниматься" -- чтобы понять заинтересованность в моих проектах:
https://goo.gl/forms/Fs04Kec8ZveDBAsj2
Вообще-то голосовалки есть и на нашем форуме.
Кроме того, здесь еще можно и обсудить непредложенные варианты ответов, либо же уточнить предложенные.

shattered
05.02.2017, 13:47
обсудить непредложенные варианты ответов

это как это? :) "забросить мирские дела и всем уехать в Тибет"?

Titus
05.02.2017, 13:51
это как это? :) "забросить мирские дела и всем уехать в Тибет"?
Нет)
Например, сделать эмуляторы потактово точными)
А для этого изучить все чипы УКНЦ, довести реверсинженеринг ВМ2 и прочих чипов до конца и т.д.)

shattered
05.02.2017, 13:59
я традиционно предлагаю всем объединить усилия, и невероятно улучшить качество эмуляции всего, что создал пытливый ум советских инженеров, в mame :) проекту как раз 20 лет стукнуло -- http://mamedev.org/?p=439

Titus
05.02.2017, 14:55
MAME люди многие не понимают даже как запустить)

shattered
05.02.2017, 16:35
Это с непривычки, наверно :) Но QMC2 (http://qmc2.batcom-it.net/) и другие оболочки обычно неплохо справляются с этой проблемой.

ZEman
05.02.2017, 16:43
shattered, прекрати пожалуйста рекламировать здесь зарубежный эмулятор, тем более что MAME - это не столько эмулятор сколько запускалка некоторых игрушек, некоторых приставок и компьютеров.
был ещё MESS раньше это вообще был тихий ужас, хорошо что он сгинул.
пусть лучше наши разработчики эмуляторов сделают что-то интересное.

shattered
05.02.2017, 16:47
Отучайтесь говорить за всех, пожалуйста, повторять странные слухи, и притягивать за уши политику.

nzeemin
05.02.2017, 17:45
ZEman, зря, MAME/MESS -- неплохой эмулятор и shattered -- один из тех кто его последовательно улучшает, всячески поддерживаю его вклад (в основном морально).
Там многое сделано очень правильно, и есть удобные инструменты на уровне кода -- любую машинку гораздо проще описывать чем с нуля свой эмулятор писать.

Но для меня лично MAME/MESS выглядит как такой прилавок, где лежат сразу все машинки. Для сравнительного анализа машин это удобно, а для подробного изучения одной машины -- не особенно.
Например, там всюду используется 16-ричная система счисления, что для PDP-11 неудобно совсем.

shattered
05.02.2017, 19:17
Но для меня лично MAME/MESS выглядит как такой прилавок, где лежат сразу все машинки. Для сравнительного анализа машин это удобно, а для подробного изучения одной машины -- не особенно.

При желании можно убрать с прилавка все, что не нужно (т.е. собрать только эмуляцию того, что нужно конкретной машинке). Или я не понял мысль?


Например, там всюду используется 16-ричная система счисления, что для PDP-11 неудобно совсем.

Частичная поддержка восьмеричной тоже есть (в отладчике) -- для себя я сделал небольшой хак, ее расширяющий, но для коммита его надо полностью переписать :)

Vamos
05.02.2017, 19:36
Но для меня лично MAME/MESS выглядит как такой прилавок, где лежат сразу все машинки.
А shattered как этакий коммивояжер, ходит по темам с другими эмуляторами и пытается втюхать MAME/MESS =))
Уже свою бы тему создал и там рекламировал.

shattered
05.02.2017, 20:27
Вы совершенно не понимаете суть рекламы -- если ее вешать только у себя дома -- продаж не будет :)

Vamos
05.02.2017, 20:35
Зато не будет негативных отзывов о товаре, а там глядишь и фанаты появятся...

ZEman
05.02.2017, 20:46
shattered, на самом деле всё гораздо проще, есть такая поговорка "хороший товар в рекламе не нуждается".

shattered
05.02.2017, 20:50
Не делайте такое серьезное лицо :) Хотите обсудить товар -- пожалуйте в тему http://zx-pk.ru/threads/20855-pozhelaniya-i-plany-po-emulyatoru-mess.html

nzeemin
07.06.2017, 18:24
Первый запуск эмулятора UKNCBTL в виде WebAssembly. Цвета пока не те что нужно, буду разбираться.

WebAssembly (wasm) это такая бинарная сборка, которая может запускаться в браузере -- из JavaScript можно вызывать её методы, которые по идее работают быстрее чем в JS. Компилировать в wasm сейчас можно из C/C++/Rust, в перспективе будет и из других языков. Поддержка wasm есть в Chrome и Firefox.

https://img-fotki.yandex.ru/get/370413/7448436.9/0_aa15f_453b5444_orig.png

- - - Updated - - -

По скорости -- поигрался с ключами оптимизации для компилятора, после этого работает со скоростью реала при пропуске каждого второго кадра (12.5 кадров в секунду) -- на моей машине. На той же машине обычный UKNCBTL выдаёт 800% от реала. В общем, разница в производительности примерно на порядок.

UPD: Посмотреть на демо можно тут: https://nzeemin.github.io/ukncbtl-wasm

x86128
11.06.2017, 10:33
Первый запуск эмулятора UKNCBTL в виде WebAssembly. Цвета пока не те что нужно, буду разбираться.

WebAssembly (wasm) это такая бинарная сборка, которая может запускаться в браузере -- из JavaScript можно вызывать её методы, которые по идее работают быстрее чем в JS. Компилировать в wasm сейчас можно из C/C++/Rust, в перспективе будет и из других языков. Поддержка wasm есть в Chrome и Firefox.

По скорости -- поигрался с ключами оптимизации для компилятора, после этого работает со скоростью реала при пропуске каждого второго кадра (12.5 кадров в секунду) -- на моей машине. На той же машине обычный UKNCBTL выдаёт 800% от реала. В общем, разница в производительности примерно на порядок.

UPD: Посмотреть на демо можно тут: https://nzeemin.github.io/ukncbtl-wasm

Хорошее начинание!
Проверял на двух машинах - core i5 3450 и pentium g 3450(не помню точно), загрузка 1-ядра процессора всего 10-20%, 3% на графику, судя по миганию курсора работает в реальном времени.

hobot
12.06.2017, 13:51
Первый запуск эмулятора
http://f22.ifotki_.info/thumb/6e42ad8e60af2405423bfb4372481b265a9a41279924576.pn g (http://i-fotki.info/22/6e42ad8e60af2405423bfb4372481b265a9a41279924576.pn g.html)

Arseny
12.06.2017, 14:26
Выкинь Обнови свой браузер.

nzeemin
12.06.2017, 14:31
http://f22.ifotki_.info/thumb/6e42ad8e60af2405423bfb4372481b265a9a41279924576.pn g (http://i-fotki.info/22/6e42ad8e60af2405423bfb4372481b265a9a41279924576.pn g.html)

Попробуй открыть консоль JavaScript -- F12 обычно, там может быть причина ошибки.
Я пока смотрел это только под Chrome, проверкой под всеми браузерами не заморачивался.

https://developer.mozilla.org/en-US/docs/WebAssembly
-- тут пишут "WebAssembly is enabled in Firefox 52+, although disabled in the Firefox 52 Extended Support Release (ESR.)".

- - - Updated - - -

В любом случае, ребят -- это пока просто пробы, пока проверено что эмулятор компилируется и запускается как wasm, до полноценного эмулятора UKNCBTL в браузере пока далеко.

hobot
12.06.2017, 14:41
ESR у меня теперь без вариантов ) так что не важно, главное выяснили этот момент,


там может быть причина ошибки.
no native wasm support detected )))

ZEman
12.06.2017, 17:17
nzeemin, скажите, а обычный UKNCBTL под виндовс будет заброшен, или разработка ведётся дальше ?

nzeemin
12.06.2017, 18:02
ZEman, я не "переключаюсь" на wasm, скорее просто пробую новую технологию.
У меня есть ещё планы по UKNCBTL.
Но я не могу обещать что буду делать много изменений -- банально нехватает времени.

nzeemin
02.07.2017, 14:03
Добавлен примитивный Sprite Viewer -- команда в меню Debug.

https://img-fotki.yandex.ru/get/244154/7448436.9/0_aa9e4_152923c8_XL.png (https://fotki.yandex.ru/next/users/nzeemin/album/95562/view/698852)

Управление в Sprite Viewer:
стрелки влево-вправо -- сдвиг на страницу
стрелки вверх-вниз -- сдвиг на байт
стрелки вверх-вниз с клавишей Ctrl -- сдвиг на строку
[ и ] -- изменение ширины спрайта
G -- задать адрес

ZEman
02.07.2017, 14:31
Highway encounter ???
А он разве был на укнц, или это просто картинка ?

hobot
02.07.2017, 16:27
А он разве был на укнц,
ты подзабыл или пропустил, Никита его портировал на УК-НЦ, но столкнулся
с некоторыми проблемами быстродействия нашей машинки. В каком состоянии
игра сейчас - вопрос к Никите )

nzeemin
02.07.2017, 16:55
Highway encounter ???
А он разве был на укнц, или это просто картинка ?

Пока просто картинка. Ну почти.
Сделано главное меню и выход на демо-экран. Работает медленнее чем нужно.
http://zx-pk.ru/threads/27621-hwyenc.html

nzeemin
30.07.2017, 15:53
UKNCBTL версии 599.
https://github.com/nzeemin/ukncbtl/releases/download/release-1.0.599/UKNCBTL-599-exe.zip

Основные изменения -- в отладчике. В частности, добавлена подсказка по текущей команде. Для команд перехода это флаги, влияющие на переход; для других команд это значения регистров источника/приёмника.
Также исправлена ошибка что звук выдавался на один канал вместо двух.

ZEman
30.07.2017, 16:00
nzeemin, антивирусник AVG жалуется на экзешник эмулятора.
что там такого что им не нравица ?

nzeemin
30.07.2017, 16:09
nzeemin, антивирусник AVG жалуется на экзешник эмулятора.
что там такого что им не нравица ?

Вероятно, нужно обновить базу AVG -- вот здесь показывает что проблем нет:
https://www.virustotal.com/en/file/44318bdf2673a46a49a3b563e3b047f9d73ac3b792fed6dad6 3606b6236c1b84/analysis/1501420038/

Что им может не нравится -- так кто же их знает.

nzeemin
30.07.2017, 21:20
Пополнение в ряду утилит для эмулятора -- дизассемблер.
Функциональность пока минимальная.
По умолчанию дизасмит с адреса 001000 до конца файла, но это можно изменить опциями /s и /e.
Опция /v указывает, что нужно включить в дизасм исходные данные, по которым выполнено дизассемблирование.
Мнемоника команд, набор команд -- те же что в эмуляторе UKNCBTL.


Usage:
SavDisasm [options] <SavFileFile>
Parameters:
<SavFileName> is name of .sav file to disassemble
Options:
-v Show original values
-sXXXXXX Set disassembly start address (octal)
-eXXXXXX Set disassembly end address (octal)

ZEman
31.07.2017, 16:54
nzeemin, пожалуйста выложите последнюю версию утилиты sav2wav.
и можно попросить в последующих релизах эмулятора звук загрузки кассет.

nzeemin
02.08.2017, 01:18
nzeemin, пожалуйста выложите последнюю версию утилиты sav2wav.

Нашёл только одну версию Sav2Wav, вот здесь:
http://zx-pk.ru/threads/11277-audio-programmy-dlya-uknts.html?p=330057&viewfull=1#post330057


и можно попросить в последующих релизах эмулятора звук загрузки кассет.
Пока не знаю. Подумаю.

hobot
20.08.2017, 22:26
nzeemin, я явно пропустил и обсуждение и реализацию и полученный на выходе некоторый функционал эмулятора, поэтому
Приходится задавать вопросы, что бы наверстать :
1. как там дела с ключами по запуску и где описаны они?
2. в эмуляторе по прежнему плавает ошибка (которая свойственна реальному железу),
плавающая не читаемость виртуальных дискет (шикарно, гениально!) - всплывает иногда и
зависание и не реакции виртуальной УК-НЦ на кнопку ресет (так и реальные платы себя иногда ведут!
это видимо глюки прошивки? не знаю).
3. полностью пропустил всё что связано с "параллельным" портом? То есть что там с принтером на самом деле сейчас?

+

Я заметил по скринам от различных пользователей UKNCBTL, что sysimage.dsk\800kb самый (наверное) популярный вариант системной дискеты на сегодня. Я залил в ту же папку образ
sysimage_advanced - изменения:
1. замена DIR,DAY,MACRO,LINK,LIBR - на более актуальные версии,
DIR и DAY поддерживают современные даты
2. заменён драйвер SL.SYS с 8 на 9-ю (спец. для УК-НЦ), в связи с чем
надобность в утилите KEY пропала
3. ускорена (спорный момент) загрузка в целом,
4. все исходники от Alex_K перемещены на лог.диск MACFIL.DSK
5. UCL местный отключен переименованием расширения на ALP вместо него
работает просто выводящая строку об ошибке программа
6. добавлена шпаргалка по обозначению ошибок трансляции для MACRO.SAV
7. добавлен драйвер TS.SYS от oleg.H - для вывода псевдографики на терминал
8. добавлено по мелочам несколько сторонних программ и мощный архиватор FCU.SAV
9. TESTMZ заменён на MZFORM - имхо: он удобнее и не содержит избыточный функционал.
10. добавлен драйвер WD.SYS и утилиты к нему (ЖД УК-НЦ).
Вышеописанный образ лежит в папке Alphaprog в разделе УК-НЦ архива.
(тут должна быть прямая ссылка - "смайл").



Спасибо.
:redface:

nzeemin
20.08.2017, 23:04
1. как там дела с ключами по запуску и где описаны они?
Если речь про эмулятор, то пока есть единственная опция командной строки -- /boot -- позволяет автоматически грузиться с MZ0:
Если же речь про какую-то из написанных мной консольных утилит -- запуск без параметров даёт подсказку как использовать.


2. в эмуляторе по прежнему плавает ошибка (которая свойственна реальному железу),
плавающая не читаемость виртуальных дискет (шикарно, гениально!) - всплывает иногда и
зависание и не реакции виртуальной УК-НЦ на кнопку ресет (так и реальные платы себя иногда ведут!
это видимо глюки прошивки? не знаю).

Ну что сказать, ошибки бывают у всех.
Чтобы исправить, как минимум нужно чтобы ошибка была хорошо описанной и воспроизводимой в известных условиях.


3. полностью пропустил всё что связано с "параллельным" портом? То есть что там с принтером на самом деле сейчас?
Там давно ничего не менялось.
Включив параллельный порт через меню или тулбар и "напечатав" что-нибудь -- получаем на выходе файл printer.log.

Если подразумевалось что это принтер с системой команд ESC/P -- с помощью утилиты ESCParser получаем на выходе .ps либо .svg файл. Утилита использует шрифт принтера Robotron, восстановленный по его прошивке.
https://github.com/nzeemin/ukncbtl-utils/wiki/ESCParser-ru

hobot
21.08.2017, 00:39
Если речь про эмулятор
Благодарю за быстрый ответ, да речь только про эмулятор. Уточнил на случай, если что то изменилось.
Предыдущее сообщение (http://zx-pk.ru/threads/6257-emulyator-uknts.html?p=924831&viewfull=1#post924831)отредактировал , на sysimage_advance.dsk так же добавлен WD.SYS и утилиты к нему.




файл printer.log.
у меня он пустой, это нормально?


с помощью утилиты ESCParser получаем на выходе .ps либо .svg файл. Утилита использует шрифт принтера Robotron, восстановленный по его прошивке.
вот что я пропустил, но читая тему в основном разделе ДВК\УК-НЦ особой ясности по использованию не получил,
видимо надо самому экспериментировать.

Спасибо.

nzeemin
21.08.2017, 00:51
у меня он пустой, это нормально?
При "включении" порта принтера в эмуляторе он создаётся пустым, файл закрывается при "отключении" порта в эмуляторе или закрытии эмулятора -- если за время эмуляции была печать на принтер, то там будут данные.

- - - Updated - - -


вот что я пропустил, но читая тему в основном разделе ДВК\УК-НЦ особой ясности по использованию не получил,
видимо надо самому экспериментировать.

Утилита несложная, рекомендую конвертить в SVG -- он открывается в современных браузерах. Но при этом в SVG придёт только первая страница -- если у вас многостраничная выдача, то нужно использовать конвертацию в PostScript, который уже можно преобразовать в PDF.

hobot
21.08.2017, 01:04
файл закрывается при "отключении" порта в эмуляторе или закрытии эмулятора -- если за время эмуляции была печать на принтер, то там будут данные.
Да! Вот оно как! Работает ) Так. А ведь у меня жил и работал роботрончик - конечно аппаратик очень спорный,
наши были лучше в разы, этот хлипкий и настраивать мука, любил "жевать" бумагу ) Но работал ) Буду парсер утилиты
пробовать теперь, спасибо!



то нужно использовать конвертацию в PostScript, который уже можно преобразовать в PDF. шикарны момент, надо проработать, есть ведь полный текст книг некоторых на дискетах в кои-7 набранных.

- - - Добавлено - - -

nzeemin, но по ссылке выше готового для скачивания релиза не обнаружил, только скрины, описание и исходники для Си-компилятора. А готовая где же прячется ?

nzeemin
21.08.2017, 01:37
nzeemin, но по ссылке выше готового для скачивания релиза не обнаружил, только скрины, описание и исходники для Си-компилятора. А готовая где же прячется ?

Старые ссылки протухли.
Пересобрал и выложил тут: http://zx-pk.ru/threads/16148-uknts-parallelnyj-port.html?p=924854&viewfull=1#post924854

- - - Updated - - -


шикарны момент, надо проработать, есть ведь полный текст книг некоторых на дискетах в кои-7 набранных.

Видимо следующий вопрос будет -- как сконвертить PS в PDF.
Вам понадобится GhostScript https://www.ghostscript.com/ -- там есть инсталлятор для Windows.
Командная строка для конвертации примерно такая (вставить актуальные номера версий и имена файлов):
"C:\Program Files\gs\gs9.10\bin\gswin64c.exe" -dSAFER -dBATCH -sDEVICE=pdfwrite -o "aaa.pdf" "aaa.ps"

hobot
22.08.2017, 03:12
Чтобы исправить, как минимум нужно чтобы ошибка была хорошо описанной и воспроизводимой в известных условиях.
Хотел немного подробней ответить. Это не баг репорт и вряд ли получается хорощо описать и тем более
нарочно воспроизвести.

1. по поводу отсутствия реакции на "ресет" (сброс), это норма для УК-НЦ.
Рано или поздно любая череда сессий на реале требует переключения питания (перезапуск эмулятора),
в эмуляторе это легко заметить если пользоваться им стабильно и регулярно по несколько часов.

2.по поводу флопов - ИМХО: это гениально иметь эмулятор с "характером" мечта всех писателей и теоретиков ИИ )))
Я помню когда ситуация было гораздо хуже с флопами, так что требовать или даже просто просить в очередной
раз "вычитывать" весь код связанный с КМД и флопами я бы честно постеснялся, поскольку всплывает крайне редко,
но метко ))) По совету Alex_K у меня во всех 4-х карманцах вставлены дискеты 0 и 1 - системные\рабочие 2 и 3 чаще всего сборники игр или игропакеты ИТО (поскольку они только с дискет запускаются).
Вот пример - я беру образ болванки и вставляю в карманец 1, загружаюсь допустим с харда или с 0 дисковода (не суть), потом делаю форматирование (до сих пор не считаю эту процедуру лишней особенно, если готовлю образ для
нарезки на реальную дискету) - и вдруг бац трек№случайный - ОШИБКА ЧТЕНИЯ при втором проходе. Лечится повторным форматом естественно и другой момент иногда выскакивает ОШИБКА ЧТЕНИЯ или ЗАПИСИ файла при операциях копирования. У меня 1 теория есть (сравния с эмулятором ДВК Патрона), там контроллер не успевает
стартануть систему на ВМ3, если скорость эмуляции слишком высока - мне вот почему-то кажется что это одного рода сбои, хотя я могу ошибаться. В остальном на сегодня 599 сборка - просто "безупречно" создаёт виртуальное РМП )))

Как-то так.

nzeemin
22.08.2017, 08:45
hobot, понял вас, спасибо. Постарась поискать эти ошибки, хотя не могу ничего обещать.

Со своей стороны -- качество у меня обеспечивается в основном тестовым стендом: после любых значимых изменений я прогоняю автоматический набор тестов, это занимает минут 5 реального времени и почти 1,5 часа виртуального времени УКНЦ. Тесты различные, в основном это запуск программ с дисков и попиксельное сравнение скриншотов -- сейчас проверяется больше 120 скриншотов.

nzeemin
22.08.2017, 17:25
Попробовал потестировать TESTMZ.
Само форматирование проходит нормально.
Но там ещё есть "Функциональный тест" -- и вот он подвисает на "ЧТЕНИЕ ПРОХОД 1" и мотор останавливается. Интересно как оно работает в реале и работает ли вообще.

hobot
22.08.2017, 22:52
Интересно как оно работает в реале и работает ли вообще.
работает (что значит как? читает видимо - просто не совсем понимаю вопрос - последний если МНИП кто копал
виртуальные дисководы и контроллер в UKNCBTL - был Alex_K по моей очередной жалобе, но было это довольно
давно и откровенные глюки которые тогда были удалось победить).

Вообще TESTMZ считается универсальное всё же ориентирована на 6022 накопители и пришла от ранних версий
РАФОС-ФОДОС, это практически переписали-адаптировали с ДВК TESTMX или TESTMY - я понимаю почему именно
она использовалась Алексеем, он делал диски нестандартные под свой MH.SYS с её помощью видимо. Я на реале
старался всячески избегать "нестандартности" и пользовался MZFORMAT - которая в один проход форматит и верификацию по трековую делать сразу.


nzeemin, меня смущает "не понятная" и не реальная совместимость карманцев 2 и 3 и связанная с этим глючность.
надо чётко - либо сделать из них 6022 либо я не знаю как 40-ки читать с помощью настроек драйверов???
просто гляди я 800кб дискету в карманец 3 вставляют делаю INI а система(контроллер???) делает каталог на 400???
Хотя сама болванка размером 800 и 0 или 1 инициализируется на 1586 блоков (как положено).


Но там ещё есть "Функциональный тест" -- и вот он подвисает на "ЧТЕНИЕ ПРОХОД 1" во всех и любых карманцах подвисает и тушит мотор - это значит проблемы с эмуляцией контроллера,
ОШИБКА КОНТРОЛЛЕРА и на реале иногда проскакивает (правда при других моментах связанных с ЖД), но то что
ты описываешь это и есть ОШИБКА КОНТРОЛЛЕРА.

извиняюсь за сумбурность

- - - Добавлено - - -

есть мощные FMZ от olegH. они более гибкие чем TESTMZ и реально заточены под КМД УК и УК_НЦ в целом.
вот тут с описанием много флоповодных сторонних программ на любой вкус
http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/PH123/

- - - Добавлено - - -

кстати MM писал мне про известный глюк главной МС на плате КМД УК (заводской),
чтение - запись ОК, а форматирование со сбоями (или наоборот) и это на реальных платах и дисководах.
Хорошо бы в инит назначать например на любую пару флопов 80-ки они или 40-ки по надобности - наверное это самый
сложный, но идеальный вариант. Или привязать 2и3 как 6022 в след. релизах ЖЁСтКО - что бы некоторой путаницы
и глюков с этим связанных уже не иметь.

nzeemin
09.10.2017, 00:58
hobot, просьба -- можешь у себя в http://archive.pdp-11.org.ru/ukdwk_archive/ где-нибудь выложить save state какой-нибудь от UKNCBTL?
Штука в чём. Я тестирую WASM-версию эмулятора, идея в том чтобы прямо в URL-строку для браузера подавать URL для save state, в результате грузится эмулятор на веб-страничке, и сразу подгружает save state нужный. Так можно будет давать линки типа вот посмотрите на это место.

hobot
09.10.2017, 01:27
nzeemin, а чем не подходят стейты уже выложенные на форумах? там правда только игры.
Или если тебе нужно конкретные твои стейты в архив закинуть присылай я закину.
У меня стейтов целая пачка - в основном игровые.

- - - Добавлено - - -

в шапке вот этой темы (http://zx-pk.ru/showthread.php?t=20593) ссылки на "прохождения игр" в UKNCBTL - это оно и есть )

- - - Добавлено - - -

системные стейты кстати отлично работают, просто к ним нужно образ приложить и написать
в какой MZмонтировать, стейты с постоянно подключенным ЖД то же отлично работают в эмуляторе, проверял.
Бывают глюки, не воспроизводимые - случайные

nzeemin
09.10.2017, 01:34
Мне нужен просто лежащий где-нибудь save state -- файл с расширением ".uknc", не в архиве, просто мирно лежащий как есть.

hobot
09.10.2017, 01:51
файл с расширением ".uknc"
понял )
http://archive.pdp-11.org.ru/EMULATORS/UKNCBTL_HDD/savestateUKNCBTL/

nzeemin
09.10.2017, 02:30
понял )
http://archive.pdp-11.org.ru/EMULATORS/UKNCBTL_HDD/savestateUKNCBTL/

Нда, а вот не получается оттуда автоматически загружать файлы. Потому что там CORS не разрешён.

434 Failed to load http://archive.pdp-11.org.ru/EMULATORS/UKNCBTL_HDD/savestateUKNCBTL/lh/lh_fire08_zone04.uknc: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://nzeemin.localhost' is therefore not allowed access.

hobot
09.10.2017, 04:03
434 Failed
я Олегу отписал, осталось дождаться решения какого-то, поскольку я такие настройки не рулю, у меня там проще всё - зашёл, залил, удалил, поправил, вышел ) Я просто ХОБОТ )

form
09.10.2017, 15:27
Что-то мне подсказывает, что это настройки защиты бровсера на котором все запускается :)

- - - Добавлено - - -

Добавил кое-что для сервера archive, может поможет.

nzeemin
09.10.2017, 20:25
Добавил кое-что для сервера archive, может поможет.
Не помогло :-(

Вот заголовки ответа при запросе http://archive.pdp-11.org.ru/EMULATORS/UKNCBTL_HDD/savestateUKNCBTL/lh/lh_fire08_zone04.uknc

Accept-Ranges:bytes
Content-Length:229888
Date:Mon, 09 Oct 2017 17:16:17 GMT
ETag:"38200-5143bb3fecec0"
Last-Modified:Tue, 21 Apr 2015 13:05:39 GMT
Server:Apache/2.4.27 (Unix) LibreSSL/2.6.3 PHP/5.6.31

Тут нужен ещё один заголовок:
Access-Control-Allow-Origin:*

form
09.10.2017, 20:33
Тут нужен ещё один заголовок:
Access-Control-Allow-Origin:*
Вроде его и добавил. Правда в контексте виртуального хоста - может апач так не умеет. Сейчас попробую перенести в каталог.

- - - Добавлено - - -


pdp-11:/home/form# telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
HEAD / HTTP/1.0
Host: archive.pdp-11.org.ru

HTTP/1.1 200 OK
Date: Mon, 09 Oct 2017 17:33:04 GMT
Server: Apache/2.4.27 (Unix) LibreSSL/2.6.3 PHP/5.6.31
Access-Control-Allow-Origin: *
Last-Modified: Thu, 28 Sep 2017 23:27:50 GMT
ETag: "5df4-55a4841b3c980"
Accept-Ranges: bytes
Content-Length: 24052
Connection: close
Content-Type: text/html; charset=windows-1251
Content-Language: ru

Connection closed by foreign host.
pdp-11:/home/form#

nzeemin
09.10.2017, 21:32
Всё. Заработало таки. Спасибо!

form
09.10.2017, 21:40
Отлично!

nzeemin
09.10.2017, 21:42
Ага, заработало, но реально теперь проблема с https.
Ладно, ребят, пока хватит экспериментов.
Как доделаю этот вид эмулятора -- выложу его куда-нибудь под http.

hobot
18.12.2017, 19:02
https://storage2.static.itmages.ru/i/17/1218/h_1513612180_8429341_4146b8dabd.png

ещё один сейвстейт для эмулятора УК-НЦ (UKNCBTL) (http://archive.pdp-11.org.ru/EMULATORS/UKNCBTL_HDD/savestateUKNCBTL/tgame/)

nzeemin
24.02.2018, 23:10
Эмулятор UKNCBTL версии 609.
Отличия от версии 599:
* Настройка "Screenshot mode" в окне Settings
* Disasm mode: в окне отладки показываются более подробные подсказки о текущей команде
* RenderVfw.dll -- добавлен режим "640 x 576 Doubled" (взято из форка ilynxy), пересобрал под VS2013 (если что не так, используйте старые DLLs)

nzeemin
27.03.2018, 13:06
В прошлую среду выступал в Рязани на митапе, рассказывал о своём опыте написания эмуляторов.


https://youtu.be/4fdPfqCyZtg

nzeemin
06.05.2018, 18:19
В аттаче UKNCBTL версии 616.
Добавлена экспериментальная фишка -- распознавание экрана в текст, команда File > Screen Text to Clipboard.
Использует для распознавания текущий шрифт, сохранённый в ОЗУ ПП. Разные шрифты не понимает, только текущий.
Инверсию не понимает. Зато понимает разное масштабирование.

hobot
07.05.2018, 02:06
Добавлена экспериментальная фишка -- распознавание экрана в текст,
экран УК-НЦ
https://thumb.ibb.co/e0mT67/20180506225249171.png (https://ibb.co/e0mT67)

то что из клип в блокнот вставилось после выбранной команды из меню эмулятора


РУС
Т = : 'v÷: ==v v : = v` vv, -:v ÷v vv ,:99`
-:v ÷v vv v==÷ v= v : = ,- v: :v, -:v ÷v vv ,:99`
[ : = v' ===v v' v= :v = ÷: v v =÷÷v ,Р v: vv, -:v ÷v vv ,:99:
v:: v : = v" v: -:v ÷v vv :99:
Т v= v : = v: vv -:v ÷v vv :99:
: = v : '= v : = , Р v: vv, -:v ÷v vv ,:99?
"÷ v vv v v : ': v "Р v? vv, -:v ÷v vv ,:99?
- v : = v: vv, :v ÷= 'v ÷ : ' ÷ , ÷:∙= ?"v v '=÷, -:v ÷v vv , :99`
[- -Р=÷:v= ' v' :v÷v
≥ v9 vv =vvv+=ф╣× " + /~C :9"9
Т:== v : = v: vv, =÷v= v -:v ÷v vv :99:

Г:v÷' vv: ' = v v : = ГР v: vv, -:v ÷v vv ,:99`
Т≥ ÷ v:= v:-" v: v` " C:=v -

РТ::≥` [≥ " v:÷

∙v ≥гТ ТТ ≥ CРг, Cv:гТ
Время Дaтa
00:00:24 21-Апр-2018, Субботa




!gpмЪёоm фJф [[ мpф pц!



получается "фишка" работает только с одним из шрифтов Алексея?
Странно, что не с родным УК-НЦшным? )

https://thumb.ibb.co/ikqkKS/20180506230013515.png (https://ibb.co/ikqkKS)



ЗАГЛ ЛАТ
Assignments:
Symbol Status Value
------ ------ -----
; auto < DIR/VOL/BLO/FU
^X auto < mac
^B auto < lin
\ auto < nys
^D auto < dess
+ auto DIR *.PAS/BRI/ALP/COL:6
---------------------
Empty bytes: 227.

Assignments key:
Key Value
-------------- -----
Key_1 ==> ^[^H
---------------------
Empty bytes: 298.

LD0 is MZ0:MACFIL.DSK[141.]

RT11SJ (DS) V5.01a

MZ0:\MACRO(00:00:37)>
!gpмЪёоm фJф [[ мpф pц!




- - - Добавлено - - -

у Patrona конечно совсем другой подход к реализации экрана - у него его как бы нет ) У него рулон там и управление им от VT52 или как-то так, системные шрифты от Windows, и пишет он сразу в клип и скриншот графический и txt-файл.

nzeemin
07.05.2018, 02:16
Ещё раз. Фишка работает не с каким-то конкретным шрифтом, а только с _текущим_ шрифтом.
На первом скриншоте шрифт был переключен, поэтому не распознано всё что до переключения.
То что статусная строка не распознаётся -- это бага, поправлю.
Ещё распознавалка пока не понимает плавный скроллинг, поэтому пока не доскроллировалось до ровной строки -- тоже не распознает.
Также возможно некоторые символы неверно переведены в Юникод, это тоже постепенно поправлю.

hobot
07.05.2018, 02:37
На первом скриншоте шрифт был переключен, поэтому не распознано всё что до переключения.



ЛAТ
The Virtual Memory driver VM V03.00,(C) "Alphaprog",1993
Alphaprog commander driver,AC V01.10,(C) "Alphaprog",1993
Driver of memory of peripheral processor,PM V01.00,(C) "Alphaprog",1991
Null driver V05.01 (C) "Alphaprog" 1991
Type driver V01.00 (C) "Alphaprog" 1991
Line printer driver,LP V01.00,(C) "Alphaprog",1992
Background printing BP V02.00,(C) "Alphaprog",1992
MH driver V01.00, 16 sectors in track, size 256 bytes, (C) "Alphaprog", 1993
?WD-W-Resident not load
SL V09.00 (C) Cтopoжeвыx C.B. + ИТO 1989
Time driver V01.00, made by "Alphaprog" 1991

Float point error driver FP V01.00,(C) "Alphaprog",1993
TS handler Koi-8 V01.03 By Oleg H.

RT11SJ (DS) V5.01a
^C
^C
^C
^C
^C
^C

MZ0>




ага! жизнь налаживается )

- - - Добавлено - - -

nzeemin, желательно шрифт сменить на любой с "правильным нулём" ) <<< не подумал, сразу накатал, потом подумал и удалять не стал )

- - - Добавлено - - -

вот в этом сообщении http://zx-pk.ru/threads/6257-emulyator-uknts.html?p=924831&viewfull=1#post924831
см. вкладку там коммент. и описание "правленого" sysimage.dsk )

hobot
15.05.2018, 05:23
nzeemin, Alex_K, у меня вопрос к авторам эмулятора UKNCBTL.

Насколько сложно и какая именно должна быть проделана работа, что бы
из дискетного дистрибутива прошивки третьей версии сделать реальное uknc.rom
и попробовать его в эмуляторе???

http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/UKNC_PZU_v300_Sources/

Спасибо! )

:redface:

nzeemin
15.05.2018, 11:12
Насколько сложно и какая именно должна быть проделана работа, что бы
из дискетного дистрибутива прошивки третьей версии сделать реальное uknc.rom
и попробовать его в эмуляторе???

http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/UKNC_PZU_v300_Sources/

Эти исходники я не копал, мне сложно сказать.
Как минимум нужно понять как их собрать вместе, и чего нехватает.
И сразу скажу, что я этим заниматься не планирую.

Alex_K
15.05.2018, 23:55
@nzeemin (http://zx-pk.ru/member.php?u=935), @Alex_K (http://zx-pk.ru/member.php?u=3184), у меня вопрос к авторам эмулятора UKNCBTL.

Насколько сложно и какая именно должна быть проделана работа, что бы
из дискетного дистрибутива прошивки третьей версии сделать реальное uknc.rom
и попробовать его в эмуляторе???

http://archive.pdp-11.org.ru/ukdwk_archive/ukncbtlwebcomplekt/UKNC_PZU_v300_Sources/
Абсолютно нереально! Отсутствуют многие файлы, да и нет сборочного файла для линковки.
Для текущей прошивки тоже отсутствуют некоторые файлы, но там хотя бы есть файл линковки, по нему можно посмотреть чего не хватает.

hobot
05.07.2018, 20:03
https://pic.maxiol.com/thumbs/1530809641p3hobot.png (https://pic.maxiol.com/?v=1530809641p3hobot.png)
nzeemin, можно ли последнюю сборку перекомпилить под этот камушек?
(без SSE2, одноядерный) - у меня возникла такая потребность. При этом эмулятор ДВК Patrona работает на УРА (в моей конфигурации железа), что сильно выручает на данный момент, но нет возможности запустить прогнать УК-НЦшную специфику + расширился бы круг ПиСи на которых UKNCBTL работает )

Кстати говоря минимальные системные требования UKNCBTL как то отдельно и специально никогда не обсуждались вроде бы )

Буду рад любому ответу )

nzeemin
05.07.2018, 20:44
hobot, а версия Windows какая интересует?

Собираю под Visual Studio, разные версии которой дают разный диапазон версий Windows.
Последнее время все релизы собираю под VS2013, должно работать начиная с Windows XP.
Используются юникодные функции WinAPI, которых нет в Windows 95/98/ME. Когда-то давно я делал поддержку неюникодного WinAPI, но это было не особенно востребовано, ну и конечно я не особенно тестировал работу такой сборки. Сейчас эта часть из файла проекта выпилена.

Теоретически, я наверное могу собрать какую-то специальную редакцию эмулятора для старых машин, провести тестирование под виртуалкой итд.
Практически -- не очень понимаю зачем это нужно.

hobot
05.07.2018, 22:44
версия Windows какая интересует?
Windows XP SP3 - проверенная 32 которая.
Оперативки 512 - для того поколения плат почти предел или даже предел(?)
Видео правда слабоватое TNT2 64 Pro - но опять же аутентичное, в общем ретро машинка.

В общем попытка последнюю сборку запустить на этой конфигурации выглядит так :
(запускаю свеженький без предрассудков в виде .INI файла со старшей машины)
https://pic.maxiol.com/thumbs/1530818909ukncbtlerronp3800.png (https://pic.maxiol.com/?v=1530818909ukncbtlerronp3800.png)

Панический дамп тут (строго временно) > http://fayloobmennik.cloud/7292348

Практический смысл - у меня то прямой - другой машинки пока нет
кушать не могу (!) без UKNCBTL ) А так, если есть возможность запустить под З-им пеньком почему бы нет? На этих платах
как правило очень правильные контроллеры флопов и у кучи народа кто ретро игры гоняет (опять же я) таких плат и процессоров ещё навалом - платы намного надёжнее чем под четвертые пеньки были - они выжили, хорошую плату под 4-й уже
надо искать, почему бы не расширить поддержку устройств (если это возможно сейчас самый вариант удобный сразу проверить).

У меня сильное подозрение в отсутствие поддержки SSE2
И ещё могу попробовать драйвера под видео обновить

MiX
05.07.2018, 23:49
Последнее время все релизы собираю под VS2013, должно работать начиная с Windows XP.
Разве в VS2013 есть поддержка XP? Думал что последняя поддержка ХР только в VS2005.

Практически -- не очень понимаю зачем это нужно.
Именно практическое применение!


У меня сильное подозрение в отсутствие поддержки SSE2
И ещё могу попробовать драйвера под видео обновитьИнструкции SSE2 никак не связаны с драйверами под видео.

hobot
06.07.2018, 00:04
Инструкции SSE2 никак не связаны с драйверами под видео. оно понятно, это второе (или первое?) яркое и прямое отличие от старших процессоров Интель

- - - Добавлено - - -

+ ярко выраженная одноядерность

А драйвера под видео я упомянул в применении , если дело может быть в рендеринге экрана оказаться? Или что то подобное...

ошибка при запуске на PIII
http://zx-pk.ru/threads/6257-emulyator-uknts.html?p=970198&viewfull=1#post970198

nzeemin
06.07.2018, 00:34
ukncbtl-619-sse.zip -- вариант собранный с опцией /arch:SSE -- по дефолту ставится /arch:SSE2.
Пробуйте.

- - - Updated - - -


Разве в VS2013 есть поддержка XP? Думал что последняя поддержка ХР только в VS2005.

В свойствах проекта опция Platform Toolset - "Visual Studio 2013 - Windows XP (v120_xp)"

MiX
06.07.2018, 01:05
провести тестирование под виртуалкой итд.
Хочу отметить что есть такой замечательный эмулятор как PCem. (http://pcem-emulator.co.uk/) Можно ставить ХР, работать с реальным дисководом, так и с образами дискет.

hobot
06.07.2018, 01:20
ukncbtl-619-sse.zip -- вариант собранный с опцией /arch:SSE -- по дефолту ставится /arch:SSE2.
Пробуйте.

https://pic.maxiol.com/thumbs/1530828579goodstart.png (https://pic.maxiol.com/?v=1530828579goodstart.png)

Вроде всё ок с виду )

https://pic.maxiol.com/thumbs/153082935120180705221914513.png (https://pic.maxiol.com/?v=153082935120180705221914513.png)





RT-11FB (S) V05.07 C

.SET TT QUIET

Date? 06-JUL-2018

.DIR/ALP/BRI/COL:6
06-Jul-2018
BINCOM.SAV HELP .SAV MZ .SYS RTMON .REL STRTFB.COM UCL .SAV
CL .SYS IND .SAV MZTEST.SAV RT11FB.SYS STRTSB.COM UKFORM.SAV
CREF .SAV KBFIX .REL NL .SYS RT11SB.SYS SWAP .SYS VTCOM .REL
DATE .SAV K52 .SAV ODT .OBJ SD .SYS SYS .SAV WD .SYS
DBGSYM.SAV LD .SYS ODTHWD.OBJ SDS .SYS SYSLIB.OBJ WDBOOT.SAV
DD .SYS LIBR .SAV PAT .SAV SIPP .SAV SYSMAC.SML WDR .SAV
DIR .SAV LINK .SAV PIP .SAV SL .SYS TED .SAV WDX .SAV
DISASM.SAV LP .SYS PRUN .SAV SLP .SAV TRANSF.SAV WDXR .SAV
DUMP .SAV LS .SYS PUD .SAV SPLIT .SAV UCL .DAT XL .SYS
DUP .SAV MACRO .SAV RESORC.SAV SRCCOM.SAV
58 Files, 1551 Blocks
35 Free blocks

.






- - - Добавлено - - -

и функционал 616 сохранён, т.е. жертвовать ничем не пришлось?
Если так - это победа! Маленькая, но победа ;-)
Огромная благодарность, Никита, за понимание ситуации и актуальный эмулятор! )

nzeemin
06.07.2018, 02:29
Ну и отлично.
С версии 616 до 619 только два изменения:
- добавилась скорость "25%"
- распознавалка экрана в текст теперь понимает и текущий и стандартный шрифт на одном экране.

hobot
15.07.2018, 08:52
Вроде всё ок с виду )
краткий коммент по версии 619 (http://zx-pk.ru/threads/6257-emulyator-uknts.html?p=970207&viewfull=1#post970207) и конфигурации на которой она у меня сейчас "запустилась". Большого оптимизма по скорости работы эмулятора на железе младше 4-го пентиума ожидать конечно не стоит, на описанной конфигурации выдаёт не более 78% - в основном играет роль выбранный режим экрана эмулятора.

И ещё мне интересно, кто пользуется на актуальных железках в связи с отсутствием
SSE2 не упала производительность?

MiX
15.07.2018, 10:36
Большого оптимизма по скорости работы эмулятора на железе младше 4-го пентиума ожидать конечно не стоит
Это ещё зависит насколько процессор загружен внутренними службами ОС. Для контроля загрузки процессора я использую программку StatBar (https://soft.mydiv.net/win/dlfile8224a_269895/StatBar/StatBarSetup.exe).


на описанной конфигурации выдаёт не более 78%
В эмуляторе есть настройка скорости самой эмуляции. Как бы одно будет компенсировать другое. Но насколько корректно скомпенсирует, это дело конкретного случая.


И ещё мне интересно, кто пользуется на актуальных железках в связи с отсутствием
SSE2 не упала производительность?Смех смехом, а мне удалось запустить эмулятор DEC PRO350 (Xhomer) на Raspberry Pi (скомпилированный на нём же). Эмулятор работал на ~20-30% быстрее чем надо, (нужно было скорректировать код).
Правда сразу скажу что там процессор другой архитектуры и на другой ОС.
Эмулятор УКНЦ скомпилировать не удалось (вроде как старая версия Qt не позволяет)...

MacBuster
15.07.2018, 12:13
В эмуляторе есть настройка скорости самой эмуляции. Как бы одно будет компенсировать другое. Но насколько корректно скомпенсирует, это дело конкретного случая.
У меня вообще есть вопрос что же там показывается, в статус баре эмулятор. На моей машине при выставленных 100% скорости эмуляции я никогда не вижу больше 84-85%, что для конфигурации моей машины очень смешно, т.к. она легко запускает штук 8-10 экземпляров эмулятора УКНЦ без заметного влияния на производительность, целый учебный класс можно эмулировать. И каждый показывает эти самые 84%.

MiX
27.07.2018, 17:59
nzeemin, возможно будут интересны некоторые баги в QT.

После запуска проекта в креаторе.
https://cdn1.savepice.ru/uploads/2018/7/27/7638c241be34c5c100e6e127c100046b-full.png
https://cdn1.savepice.ru/uploads/2018/7/27/8af938ed75ee8d0edf9115437515d52d-full.png

После некоторых проб настроек проекта продвинулось дальше.
https://cdn1.savepice.ru/uploads/2018/7/27/50bc9d8f468fbf7757488b156e43e531-full.png

Эмулятор собрался, правда с лишней консолью.
Убрать лишнюю консоль в настройках не удалось. Будем считать что собрался неудачно.
https://cdn1.savepice.ru/uploads/2018/7/27/a03515f60763f9f65662bf39cc836a8e-full.png

nzeemin
27.07.2018, 18:32
MiX, спасибо. Qt-версией я конечно занимаюсь намного-намного меньше.
Зато я настроил для неё CI для сборки под Linux и Mac:
https://travis-ci.org/nzeemin/ukncbtl-qt

MiX
27.07.2018, 23:42
MiX, спасибо. Не за что. :)


Qt-версией я конечно занимаюсь намного-намного меньше.

Не думаю что проект Qt сильно отличается от проекта VS. Можно основной код синхронизировать в двух проектов.
Да QT позволяет подключать компилятор VS.

nzeemin
28.07.2018, 00:28
Не думаю что проект Qt сильно отличается от проекта VS. Можно основной код синхронизировать в двух проектов.
Да QT позволяет подключать компилятор VS.

У этих проектов общая папка emubase, где лежит реализация УКНЦ.
Интерфейс же совершенно разный, хотя и похожий. Кроме того, в Qt-версии есть исполнение JavaScript с обращениями к эмулятору.
Поскольку пошло больше внимания к Qt-версия, постараюсь туда тоже вкладываться.

MiX
29.07.2018, 15:36
Поскольку пошло больше внимания к Qt-версия, постараюсь туда тоже вкладываться.
Лучше тогда потратить время на КЦГД с входом/выходом на СОМ порт. :)

MacBuster
29.07.2018, 18:30
Нельзя ли добавить функцию создания уже инициализированного диска RT-11? Или даже добавить к этому вариант готового загрузочного системного диска?

hobot
29.07.2018, 23:14
Нельзя ли добавить функцию создания уже инициализированного диска RT-11? Или даже добавить к этому вариант готового загрузочного системного диска?

Готовый образ системной дискеты в этом сообщении (http://zx-pk.ru/threads/6257-emulyator-uknts.html?p=924831&viewfull=1#post924831)
с прицелом написания программ на МАКРО-11,
улучшенный ИМХО вариант дискеты от соавтора эмулятора
Alex_K, автора многих программ от драйверов до игровых
для УК-НЦ (Alphaprog - папка в разделе УК-НЦ)

nzeemin
30.07.2018, 15:18
Нельзя ли добавить функцию создания уже инициализированного диска RT-11? Или даже добавить к этому вариант готового загрузочного системного диска?

Диск после выполнения INIT? да, это вполне можно сделать.
Ещё думал сделать функцию создания образа винчестера.
А вот готовый загрузочный системный диск -- тут много вариантов систем, этим не буду заниматься.

hobot
01.08.2018, 17:26
Диск после выполнения INIT? да, это вполне можно сделать. кстати говоря, в рамках самой RT-11 в поставке ПАФ-коммандера Саша Петросян две утилитки приложил PAF80.SAV и PAF40.SAV - форматируют и инициализируют последовательно, на выходе имеем стандартного размера (имеется в виду сегмент) рабочую чистую дискету с началом каталога с 14 блока и VOLume = PAF80 ) В архиве есть исходник программы на макро-11 (название образа ishpc20.dsk ).

Параметр - номер устройства (привода)


ЛАT


RT-11SJ (S) V05.00

WD0>PAF80
The PAF80, Copyright (C) 1992, 93 by Petrosyan Alexander

Drive #

WD0>PAF40
Onepaтop uнвaлuд!

WD0>RU WD1:PAF40
The PAF40, Copyright (C) 1992, 93 by Petrosyan Alexander

Drive #

nzeemin
01.08.2018, 22:51
Ну как бы мысль-то не новая. Например, мы такое видели на МС-0515: http://zx-pk.ru/threads/15146-ms-0515.html?p=902042&viewfull=1#post902042 -- там всего 26 байт записывается в один из секторов, в итоге диск "инициализирован".

nzeemin
02.08.2018, 02:39
Лучше тогда потратить время на КЦГД с входом/выходом на СОМ порт. :)

Не уловил, какая связь между УКНЦ и КЦГД?

shattered
02.08.2018, 22:18
КЦ :-)

MacBuster
03.08.2018, 10:11
КЦ :-)
Так это разные КЦ - «компьютер научного» и «контроллер графического» ;)

b2m
03.08.2018, 15:18
А вот КЦ на Плюке и КЦ на Земле были одинаковые! :)

hobot
22.10.2018, 01:57
Нельзя ли добавить функцию создания уже инициализированного диска RT-11? Или даже добавить к этому вариант готового загрузочного системного диска?


https://www.youtube.com/watch?v=RN0-QHZnvKk

МакБастер - вы ностолько упороты, что до сих пор не можете взять в толк - никто не решит за вас о составе системной дискеты, каждый делает сборочку под свои задачи и на свой лад волен настроить
внешний вид и рабочую среду - чем и хороша система не смотря на всю её маловестность и простоту.
Ну допустим Никита сделает какой-то там образ штамповать функцию - так вы первый начнёте капризничать почему есть вот это, а нет этого и зачем тут вообще вон то (!)

Никита, я бы предложил сохранение в виде текста по мимо меню в будущих релизах,
продублировать кнопочкой на панели рядом с кнопкой "снимок экрана".

Titus
22.10.2018, 10:51
не можете взять в толк - никто не решит за вас о составе системной дискеты, каждый делает сборочку под свои задачи и на свой лад волен настроить
внешний вид и рабочую среду - чем и хороша система не смотря на всю её маловестность и простоту.
Не соглашусь. Далеко не все являются продвинутыми или вообще какими-то пользователями RT-систем, чтобы настроить и собрать систему под себя.

hobot
23.10.2018, 07:44
Никита, я бы предложил сохранение в виде текста по мимо меню в будущих релизах,
продублировать кнопочкой на панели рядом с кнопкой "снимок экрана".

это да, но тут есть момент - а нельзя ли текст скидывать сразу в текстовый файл (добавлять в конец текста) так можно было бы с помощью ctrl+S \ ctrl+Q в RT-11 рулон сессии переводить поэкранно в один файл автоматом, вот кнопочка для такого режима имелась в виду.
Шов такого добавления в текстовом файле обозначать особой строкой

Распознавалка распознаёт верхнюю сис строку, а нижнюю нет (шрифт один и тот же)


→ ЗАГЛ РУС
Symbol Status Value
------ ------ -----
; auto < DIR/VOL/BLO/FU
^X auto < mac
^B auto < lin
\ auto < nys
^D auto < dess
---------------------
Empty bytes: 253.

Assignments key:
Key Value
-------------- -----
Key_1 ==> ^[^H
---------------------
Empty bytes: 298.

LD0 is MZ0:MACFIL.DSK[141.]
LD1 is WD3:EDIK.DSK[189.]#
# Handler not loaded

RT11SJ (DS) V5.01a
Время Дата
00:00:44 20-Окт-2018, Суббота
|лrлh Vя рмр←|| лrл rn|

nzeemin
10.11.2018, 00:15
Для утилиты Sav2Cart сделал сжатие по алгоритму LZSS, используется если только образ не влезает как есть и не влезает после использования RLE.
За основу была взята реализация LZSS, которая лежит в виде lzss.c буквально на каждом углу /* LZSS encoder-decoder (c) Haruhiko Okumura */, и затем допилена напильником под загрузчик.
Загрузчик взят из исходников утилиты LZSAV (за авторством Остапенко Алексей, 1994 год).

Для примера в том же архиве вложен HWYENC.BIN

Исходники утилиты здесь: https://github.com/nzeemin/ukncbtl-utils/tree/master/Sav2Cartridge

nzeemin
09.12.2018, 18:22
Утилиты ESCParser, Sav2Cartridge, rt11dsk, sav2wav, SavDisasm -- теперь компилируются под Macos и Linux.
В папке каждой утилиты положен Makefile, собирается через g++ -std=c++11.
https://github.com/nzeemin/ukncbtl-utils
https://travis-ci.org/nzeemin/ukncbtl-utils

troosh
09.12.2018, 19:44
Для утилиты Sav2Cart сделал сжатие по алгоритму LZSS, используется если только образ не влезает как есть и не влезает после использования RLE.


А почему сразу не жать только при помощи LZSS?
Скорость распаковки хочется иметь максимальную?

Кстати, ещё вариант - почему бы взять код распаковщика из ПЗУ ПК11/16 ( https://github.com/troosh/pk11-16/blob/master/Soft/BIOS/P16UNP.MAC ), на удивление сильно сжимает не смотря на возраст. Упаковщик там же: https://github.com/troosh/pk11-16/blob/master/Soft/BIOS/PL.PAS

nzeemin
11.12.2018, 16:02
troosh, как бы из логики что зачем жать если можно не жать.
Для Sav2Cart я пока проблему решил. Возиться с ещё одним архиватором пока желания нет.

troosh
29.12.2018, 14:23
troosh
Для Sav2Cart я пока проблему решил. Возиться с ещё одним архиватором пока желания нет.

Сделал концепт по поддержке LZ4 (в смысле кубики сделал, а теперь слепить вместе нужно и отладить, когда продолжу не знаю - но будет весело т.к. никогда не видел живую УКНЦ и, каюсь, эмулятор не запускал):
https://github.com/troosh/ukncbtl-utils/tree/master/Sav2Cartridge

Картриджи могут ведь, наверное, быть не только 24К, но и 16К и 8К, а с учётом микросхем половинок ещё могут быть 4К, 12К и 20К.

Сейчас с LZSS резер в картридже 0.5 Кбайт, а с LZ4 - 4 Кбайт, на более прогрессивных алгоритмах можно выдать ещё 3..4Кбайт, но там далее скорость сильно упадет и размер распаковщика начинает резко расти и затея становиться бессмысленной (совсем).

nzeemin
29.12.2018, 15:14
troosh, доделаешь -- жду pull request на гитхабе :)

Картридж для УКНЦ известен только один, с Бейсиком.
Конечно, больше лучше, но даже с LZSS уже в картридж можно запихнуть программу, занимающую почти всю память ЦП.

MacBuster
29.12.2018, 23:21
Картриджи могут ведь, наверное, быть не только 24К, но и 16К и 8К, а с учётом микросхем половинок ещё могут быть 4К, 12К и 20К.
Не должно быть такого. Схемотехнически включится все равно 24Кб. Приврал - включится не менее 8Кб, если двух других микросхем нет, не знаю что будет.

- - - Добавлено - - -


Картридж для УКНЦ известен только один, с Бейсиком.
Три - ещё есть один с текстовым редактором и картридж с ПО для медицинского спектрографа.

nzeemin
29.12.2018, 23:31
Три - ещё есть один с текстовым редактором и картридж с ПО для медицинского спектрографа.

Это очень интересно.
А где бы образы раздобыть?

MacBuster
29.12.2018, 23:52
А где бы образы раздобыть?
Спектрограф есть у dk_spb, редактор у SKorp.

- - - Добавлено - - -

И снова интересует вероятность поддержки эмулятором электронного диска.

troosh
30.12.2018, 00:02
Конечно, больше лучше, но даже с LZSS уже в картридж можно запихнуть программу, занимающую почти всю память ЦП.

Фоток внутренностей 24К картриджей я не видел, только 8К: https://zx-pk.ru/threads/18825-perm-prodam-kartridzh-uknts.html

Вероятно это экзотика и дорогое удовольствие. Так что если влезет в меньшее число чипов - лучше.

Ну и свободное место картриджа можно использовать под ресурсы (графика, музыка или код), подгружаемые позже.

troosh
30.12.2018, 00:07
Не должно быть такого. Схемотехнически включится все равно 24Кб. Приврал - включится не менее 8Кб, если двух других микросхем нет, не знаю что будет.

Я имел ввиду, что на трёх позициях печатной платы можно набрать различные комбинации непрерывных участки постоянной памяти. Но окно останется 24К, а чипы меньше 8К будут давать алиасы (повторы).

MacBuster
30.12.2018, 00:25
Но окно останется 24К, а чипы меньше 8К будут давать алиасы (повторы).
Со стороны УКНЦ окно будет 8Кб. А вот что будет, если включить отсутствующее на плате ПЗУ, надо смотреть в руководстве. Вроде бы там упоминается некий «отладочный режим» что-ли.

- - - Добавлено - - -


Вероятно это экзотика и дорогое удовольствие.
Ярик сделал плату, куда можно зашить образ кассеты ПЗУ, все 24Кб разом.

hobot
30.12.2018, 01:27
занимающую почти всю память ЦП. только с такими слепками и стлит эксперементировать,
+можно поглядеть в сторону сборников на картридже

мне интересно, может содержимое картриджа эмитировать - загрузку из сети?

nzeemin
15.09.2019, 14:42
Release notes:
- More command-line options
- Screen-to-Text: fix for the last line
- Create Disk command now does INIT operation on the created disk

Опции командной строки:
- /boot - загрузка с диска
- /autostart, /autostarton - автостарт эмулятора при открытии
- /autostartoff, /noautostart - выключить автостарт эмулятора при открытии
- /debug, /debugon, /debugger - открывать эмулятор в режиме отладчика
- /debugoff, /nodebug - открывать в обычном режиме, без режима отладчика
- /sound, /soundon - запускать со включенным звуком
- /soundoff, /nosound - запускать с выключенным звуком

hobot
16.09.2019, 05:26
UKNCBTL 1.0.632
Важно уточнить - это по прежнему SSE - то есть расширенная до pentiumIII возможность запуска или
снова дефолт SSE2 only ? Огромная благодарность за очередной релиз ! )

- - - Добавлено - - -


Create Disk command now does INIT operation on the created disk
а поле Volume заполняет ? Стильно заполнять )

nzeemin
16.09.2019, 12:38
Важно уточнить - это по прежнему SSE - то есть расширенная до pentiumIII возможность запуска или
снова дефолт SSE2 only
Да, это по-прежнему /arch:SSE


а поле Volume заполняет ? Стильно заполнять )
Заполняет пробелами.

hobot, не проверял, теперь нижняя статусная строка распознаётся нормально?

hobot
16.09.2019, 13:34
! Аpxuвный paздeл ЖД ! ЛАT
------ --------------------------------
; DIR/FU/VO/BL
\ nys
b lin
d dess
x mac

0 empty entries

SET SL LET is in effect

LD1 is WD3:WD3A01.DSK[3200.]
LD2 is WD3:WD3A02.DSK[3200.]
LD3 is WD3:WD3A03.DSK[3200.]
LD4 is WD3:WD3A04.DSK[3200.]
LD5 is WD3:WD3A05.DSK[3200.]
LD6 is WD3:WD3A06.DSK[3200.]


RT-11FB (S) V05.07 C
?DATE-I-Time source: RT-11
?DATE-I-Date & time: 16-SEP-2019 00:02:16

L07>
! Аpxuвный paздeл ЖД !]


Не догадался проверить, тормознул - но вроде вот норм.

- - - Добавлено - - -

на скобку внимания не обращай там след от пред. надписи длиннее на символ

nzeemin
15.10.2019, 21:24
Сделал концепт по поддержке LZ4 (в смысле кубики сделал, а теперь слепить вместе нужно и отладить, когда продолжу не знаю - но будет весело т.к. никогда не видел живую УКНЦ и, каюсь, эмулятор не запускал):
https://github.com/troosh/ukncbtl-utils/tree/master/Sav2Cartridge


По утилите Sav2Cartridge:
Перенёс код troosh к себе в проект. Плюс сделал опции для выбора вида сжатия.


Usage: Sav2Cart [options] <inputfile.SAV> <outputfile.BIN>
Options:
-none - try to fit non-compressed
-rle - try RLE compression
-lzss - try LZSS compression
-lz4 - try LZ4 compression
(no compression options) - try all on-by-one until fit

troosh
15.10.2019, 23:12
По утилите Sav2Cartridge:
Перенёс код troosh к себе в проект. Плюс сделал опции для выбора вида сжатия.


Эх, совсем руки до этого не доходят. Год назад поотлаживал под виндой/rt11.exe, да вот не думал что так на долго отложу... А оно хоть работает?

nzeemin
15.10.2019, 23:41
Эх, совсем руки до этого не доходят. Год назад поотлаживал под виндой/rt11.exe, да вот не думал что так на долго отложу... А оно хоть работает?

Ну, полномасштабного тестирования я не устраивал. Прогнал тот же HWYENC.SAV, проверил под эмулятором что запускается.
Кстати, спасибо тебе, отличная работа. Тут в соседней ветке randomizer запросил компрессию, вот я и вспомнил.

nzeemin
03.11.2019, 15:50
Часть изменений в этом релизе внёс ilynxy, спасибо!

* Option /boot modification: now /bootN selects menu option N, where N=1..7.
* Preparing for trace CPU option in debugger; minor changes for linter.
* DisasmView: two GDI resources leaks fixed.
* Add two-plane mode for sprite viewer
* Allow write to mounted fdd/hdd images
* SpriteView: added 3rd mode with blue background; fixed includes in emubase/Floppy.cpp
* SpriteView: save/restore the Sprite Mode.
* SpriteView: scrolling improvements.

Загрузить: https://github.com/nzeemin/ukncbtl/releases/download/release-1.0.641/ukncbtl-641-exe.zip

Titus
03.11.2019, 16:16
Часть изменений в этом релизе внёс @ilynxy, спасибо!
Уже не первый раз, кажется, интересуюсь.
Почему у эмулятора отечественного компьютера, аудитория которого на 99.9% отечественная, анонсы на русскоязычном форуме на АНГЛИЙСКОМ? )

hobot
03.11.2019, 19:37
* Allow write to mounted fdd/hdd images
можно этот пункт яснее описать, просто на Русском для форума?

ilynxy
03.11.2019, 21:58
* Allow write to mounted fdd/hdd images
можно этот пункт яснее описать, просто на Русском для форума?

* Option /boot modification: now /bootN selects menu option N, where N=1..7.
* Preparing for trace CPU option in debugger; minor changes for linter.
* DisasmView: two GDI resources leaks fixed.
* Add two-plane mode for sprite viewer
* Allow write to mounted fdd/hdd images
* SpriteView: added 3rd mode with blue background; fixed includes in emubase/Floppy.cpp
* SpriteView: save/restore the Sprite Mode.
* SpriteView: scrolling improvements.
* Ключ командной строки /bootN: теперь N (1...7) выбирает номер пункта меню начальной загрузки
* Предварительная подготовка для опции трассировки ЦПУ. Несколько изменений для linter'a.
* Отображение окна дизассемблера: устранена утечка ресурсов Интерфейса Графического Устройства (GDI).
* Разрешено изменение другими процессами образов Гибких Дисков (FDD)/Жёстких дисков (HDD) смонтированных в ukncbtl (это может быть удобно при отладке, можно перезаписать файлы в образе без отмонтирования или перезапуска ukncbtl).
* Просмотрщик спрайтов: Добавлены новые режимы отображения. Добавлено восстановление последнего режима отображения после перезапуска приложения. Улучшения прокрутки.

- - - Добавлено - - -


Уже не первый раз, кажется, интересуюсь.
Почему у эмулятора отечественного компьютера, аудитория которого на 99.9% отечественная, анонсы на русскоязычном форуме на АНГЛИЙСКОМ? )У меня есть несколько предположений. Первое -- программисты любят упражняться в английском (с переменным успехом). Второе -- анонсы на русском всё равно будут суржиком, смесью англоязычных терминов вперемежку с русскими пояснениями. А если всё описывать литературным русским то и вовсе будет издевательство над здравым смыслом.

nzeemin
05.11.2019, 14:23
Уже не первый раз, кажется, интересуюсь.
Почему у эмулятора отечественного компьютера, аудитория которого на 99.9% отечественная, анонсы на русскоязычном форуме на АНГЛИЙСКОМ? )

Есть только одно очевидное и разумное объяснение: автор - ленивая скотина.

Режим в просмотровщике спрайтов переключается буквой "M". Это реально удобная фишка, сам тоже буду пользоваться.

hobot
05.11.2019, 16:11
ilynxy,
nzeemin, у себя 641 завёл и на сайт залил - полёт нормальный, подтверждаете SSE-процессоров поддержку ?

ilynxy
09.11.2019, 14:43
ilynxy,
nzeemin, у себя 641 завёл и на сайт залил - полёт нормальный, подтверждаете SSE-процессоров поддержку ?
А что такое поддержка SSE-процессоров?

hobot
09.11.2019, 15:15
А что такое поддержка SSE-процессоров?
выше релиз 619 от Никиты, я столкнулся с тем, что единственным препятствием запустить эмулятор на 3-м пентиуме - оказалось, что компилятор по дефолту компилит SSE2 - начиная с того релиза , Никита поддержал
возможность запуска на старых (но мощных вполне) процессорах PIII - поколения, там саршие модели от 800 до 1.4 МГц и памяти кило или половина - и эмулятор не тормозит. Это рентабельно по многим причинам, на платах тех лет стоят реальные флопо-контроллеры, в эмуляторе пилишь образ, UKDSKP нарезаешь и тащищь на живую машину, у был частный момент, когда единственный рабочий системник остался на время под рукой PIII800EB - шикарный зверь, мех, мясо и UKNCBTL ) А как у 641 сборки с этим?

randomizer
17.11.2019, 02:53
nzeemin я несколько не предусмотренным способом запускаю эмулятор - из под линукс используя WINE.

Все отлично работает за исключением интерфейса отладчика.
После запуска эмулятора с активными "Debug Views" все выглядит вот так:
https://i.ibb.co/6XGGCy4/Screenshot-20191117-015419.png (https://ibb.co/6XGGCy4)
Если после этого выключить и включить обратно "Debug Views" то с отладчиком уже можно работать:
https://i.ibb.co/YytpWbY/Screenshot-20191117-015511.png (https://ibb.co/YytpWbY)
Правда пропадают кнопки в окнах отладчика(и ничего не происходить если потыкать мышкой там где они должны быть)
Это в общем то не мешает - все что нужно можно сделать используя меню или горячие клавиши.
За исключением окна "Memory" - в нем ничего не переключить без кнопок.

Понятно что эмулятор разрабатывался под виндовс и там он работает без нареканий.
Но есть небольшая надежда, что у вас могут быть предложения что вызывает подобное поведение или даже удастся исправить.

А еще ведь есть версия эмулятора построенная на QT, но она давно не синхронизировалась с основной версией :(
Как по вашему, насколько сложно привести ее в соответвие с основной?

nzeemin
17.11.2019, 18:16
nzeemin я несколько не предусмотренным способом запускаю эмулятор - из под линукс используя WINE.
Все отлично работает за исключением интерфейса отладчика.


Бага в Wine походу такая же как в ReactOS - они неправильно рассчитывают размеры вертикальных тулбаров, получаются что они накрывают окно с информацией. Я им репортил эту багу ещё в 2015 году: https://jira.reactos.org/browse/CORE-10619
Сложно сказать что я тут могу сделать, учитывая что я не запускаю Wine.

В окне Memory можно переключаться без кнопок: ткнуть туда чтобы там был фокус, пробел переключает режимы, G - перейти по адресу, B либо W - переключатель между словами/байтами.



А еще ведь есть версия эмулятора построенная на QT, но она давно не синхронизировалась с основной версией :(
Как по вашему, насколько сложно привести ее в соответвие с основной?

Поработаю над Qt-версией. Пока только обновил там emubase.

hobot
17.11.2019, 20:35
randomizer, очевидный вариант = откусить 20гб и поднять там ХР какую-нибудь или 7 = все эмуляторы сразу "залетают" )

по SSE для последней сборки пожалуйста уточните! ) это ведь по своему важный момент )

- - - Добавлено - - -


Часть изменений в этом релизе внёс @ilynxy, спасибо!
изменения он может и внёс, а вот про SSE или не знает или троллит (
и даже после уточнения не удасужил ответом - важный? сроки? сессия?
мне всегда почуму то тревожно, когда кто то встревает в UKNCBTL - привык к стабильности релизов,
а тут всякие lyn...

nzeemin
17.11.2019, 21:14
hobot, осталось всё также по SSE, не переживай.

Сейчас стало свободное время появляться, потихоньку разбираю завалы и по эмуляторам тоже.
Меня радует, что эмулятор явно стал более востребован со стороны отладчика - а значит, люди пишут софт.

- - - Updated - - -

randomizer, по Qt-версии вам что наиболее важно увидеть доделанным?

hobot
17.11.2019, 21:18
nzeemin, я так понял отдельно "хотящие странного" граждане вовсю и всерьёз хотят линух на живых машинах,
объяснять про "ресурсы" и RT-11 бесполезно, старшие машинки "дорого" же, а любые трудности - есть повод обозвать 0511 "чебурашкой" ) В целом я рад конечно интересу к машинке ... возможно что то красивое нас ждёт )

randomizer
17.11.2019, 22:37
randomizer, по Qt-версии вам что наиболее важно увидеть доделанным?
Уф, попробую определится :)
* запоминание выбранных в меню режимов - сейчас запоминается смонтированный образ и все. Хочется например что бы если закрыл эмулятор показывающим отладчик, то и вновь запустившись он показывал отладчик и т.д.
* опцию коммандной строки -boot
* выбор скорости эмуляции для сокращения времени загрузки ОС
* клавиши F7 и F8 забинденные на Step Into и Step Over в отладчике
* поддержку палитр. Сейчас очень странные цвета в цветном режиме когда переключешь палитру. При этом в Grayscale режиме отображается цвет.
* что то не то с цветами в отлачике, основной текст заметен но нечитабелен
https://i.ibb.co/cwbmKJj/Screenshot-20191117-221524.png (https://ibb.co/cwbmKJj)

- - - Добавлено - - -

Только что обнаружил что утилиты ukncbtl-utils содержат Makefile и все без проблем собирается :v2_dizzy_punk:А я их тоже через wine запускал :)

Ynicky
18.11.2019, 21:54
Вопросик можно?

В реальной машине в мониторе ЦМ системное ОЗУ читается до конца памяти,
а в эмуляторе с адреса о172724 - нули. Почему?
Манипуляции делаю одни и те же.
https://pic.maxiol.com/thumbs2/1574103167.1845248586.realemulcm.jpg (https://pic.maxiol.com/?v=1574103167.1845248586.realemulcm.jpg&dp=2)

Titus
18.11.2019, 21:57
В реальной машине в мониторе ЦМ системное ОЗУ читается до конца памяти,
а в эмуляторе с адреса о172724 - нули. Почему?
Манипуляции делаю одни и те же.

Попробуй еще в моем эмуляторе)

nzeemin
18.11.2019, 22:04
Вопросик можно?

В реальной машине в мониторе ЦМ системное ОЗУ читается до конца памяти,
а в эмуляторе с адреса о172724 - нули. Почему?
Манипуляции делаю одни и те же.
https://pic.maxiol.com/thumbs2/1574103167.1845248586.realemulcm.jpg (https://pic.maxiol.com/?v=1574103167.1845248586.realemulcm.jpg&dp=2)

Интересный конечно эффект. Пока ничего не могу об этом сказать.
На всякий случай - а какие именно манипуляции, от включения машины?

Ynicky
18.11.2019, 22:23
а какие именно манипуляции, от включения машины?
Включение
УСТ
УПР+@
Набирается программа по адресу о40000:
012704 MOV #450, R4
000450
004737 CALL @#162164
162164
Исполняется команда по адресу о40000:
@ 40000 ИСП
Читается системное ОЗУ ЦП:
@ 172720 =>

Alex_K
18.11.2019, 23:55
В реальной машине в мониторе ЦМ системное ОЗУ читается до конца памяти,
а в эмуляторе с адреса о172724 - нули. Почему?
Просто в эмуляторе изначально всё ОЗУ очищено. А на реальной машине при включении в ОЗУ будет всякий мусор. В памяти ЦП чистятся только первые 56 Кб. Сам пультовый отладчик в ОЗУ ЦП занимает адреса 160000-172723. Потому в эмуляторе и будут дальше нули.

randomizer
25.11.2019, 14:55
Идея по доработке отладчика :)
Было бы удобно если была бы возможность поставить точку останова для отладчика прям в исходниках.
Например использовать неизвестный процессору код команды, по нему эмулятор поймет что здесь нужно остановится и перейти в отладчик.
Или как варинт использовать инструкцию HALT, а в эмуляторе сделать переключатель который будет определять как эту инструкцию обрабатывать.

nzeemin
25.11.2019, 15:13
Идея по доработке отладчика :)
Было бы удобно если была бы возможность поставить точку останова для отладчика прям в исходниках.
Например использовать неизвестный процессору код команды, по нему эмулятор поймет что здесь нужно остановится и перейти в отладчик.
Или как варинт использовать инструкцию HALT, а в эмуляторе сделать переключатель который будет определять как эту инструкцию обрабатывать.

Да, я думал про это - сделать больше возможностей для остановки в отладчике.
Такие как - инструкция HALT, прерывание HALT, неизвестный код команды, обращение в несуществующую память итп.
Как будет время поработаю над этим.

Насчёт исходников не всё так просто.
Сейчас точка останова с адресом только одна на процессор, задаётся как gXXXXXX в консоли отладчика.
Надо думать как это расширять.

Для показа исходников есть режим "субтитров" - можно подготовить текстовый файл где в начале стоят адреса, тогда в окне дизасма тыкаем, нажимаем 'S', выбираем такой файл - видим комментарии к коду - обычно я это использовал когда бегал отладчиком по ПЗУ. Была ещё мысль научить отладчик понимать .LST-файлы, получаемые от линковщика, но пока не добрался до этого.

И спасибо что пользуетесь эмулятором и отладчиком.

randomizer
25.11.2019, 16:12
Насчёт исходников не всё так просто.
Сейчас точка останова с адресом только одна на процессор, задаётся как gXXXXXX в консоли отладчика.
Надо думать как это расширять.
Говоря про исходники я как раз думал об останове на несуществующей комманде или HALT.
Думаю проще например добавить HALT в код там где нужен останов, вместо выискивания адреса в .LST(а в выводе gas в добавок все шеснадцатиричном виде), и задание остановов через gXXXXXX


Для показа исходников есть режим "субтитров" - можно подготовить текстовый файл где в начале стоят адреса, тогда в окне дизасма тыкаем, нажимаем 'S', выбираем такой файл - видим комментарии к коду - обычно я это использовал когда бегал отладчиком по ПЗУ. Была ещё мысль научить отладчик понимать .LST-файлы, получаемые от линковщика, но пока не добрался до этого.
Так далеко у меня мысли не заходили. :) Когда отлаживаешь свой собственный код несложно сопоставить дизасемблированный вариант с тем что написал.


И спасибо что пользуетесь эмулятором и отладчиком.
Спасибо что прислушываетесь и совершенствуете эмулятор :v2_smile:

hobot
25.11.2019, 17:18
Спасибо что прислушиваетесь
а не проще собственный Макрос описать и пользоваться им...

randomizer
25.11.2019, 17:44
а не проще собственный Макрос описать и пользоваться им...
Слышал звон, да не знает, где он...

ilynxy
27.11.2019, 23:06
изменения он может и внёс, а вот про SSE или не знает или троллит (
и даже после уточнения не удасужил ответом - важный? сроки? сессия?Сборкой и релизом я не занимаюсь, поэтому ответа на вопрос не знаю и, следовательно, молчу.

hobot
28.11.2019, 09:12
ilynxy, ну откуда мне знать подробности...были в прошлом версии эмулятора, собранные соавторами.
В целом я без претензиЙ, важный момент уточнили, поддержка SSE по прежнему в силе (!)


Эти тулы надо собирать под 32-битный таргет если хост 64-битный.
(C) Svofski.

hobot
02.12.2019, 19:30
nzeemin, я забывал написать, с символами псевдографики " не всё хорошо "

через буфер выводится так


╙╣╣╣╣╣╣╣╣╣╚╣╣╣╣╣ ╣╣╚╣╣╣╣╣╣ё
╥ Address ╥ Size ╥ Free ╥
╔╣╣╣╣╣╣╣╣╣╟╣╣╣╣╣ ╣╣╟╣╣╣╣╣╣╝
╥ 023660 ╥ 000710 ╥ * ╥
╥ 024576 ╥ 000176 ╥ * ╥
╥ 025002 ╥ 052762 ╥ ╥
╕╣╣╣╣╣╣╣╣╣║╣╣╣╣╣ ╣╣║╣╣╣╣╣╣╧



на экране UKNCBTL

https://pic.maxiol.com/images2/1575304179.1520060753.20191202162354011.png

как то так...

nzeemin
04.12.2019, 21:06
nzeemin, я забывал написать, с символами псевдографики " не всё хорошо "


Да, тут я как-то налажал с перекодировкой. Не заметил что в части псевдографики УКНЦ несовпадает с КОИ8-Р.
Уже поправил в коде, будет со следующей версией.

hobot
05.12.2019, 16:53
nzeemin, по эмуляции AZ-контроллера (https://zx-pk.ru/threads/30596-uknts-az-variant-kontrollera-psevdodiskov-na-mikro-sd-dlya-uknts.html) вопрос, сроки не важны - важно можно ли вообще ожидать виртуальный вариант для UKNCBTL ? Допустим наличие ЖД в эмуляторе позволяет проверить что то на запуск с WD устройства из классического ПО УК-НЦ (не про DEC!) ?

nzeemin
05.12.2019, 20:41
nzeemin, по эмуляции AZ-контроллера (https://zx-pk.ru/threads/30596-uknts-az-variant-kontrollera-psevdodiskov-na-mikro-sd-dlya-uknts.html) вопрос, сроки не важны - важно можно ли вообще ожидать виртуальный вариант для UKNCBTL ? Допустим наличие ЖД в эмуляторе позволяет проверить что то на запуск с WD устройства из классического ПО УК-НЦ (не про DEC!) ?

Может я плохо смотрел, но я там не увидел как видится AZ контроллер со стороны УКНЦ - видимо как сетевая карта, но детали мне не очень понятны.
Со стороны эмулятора, я всё откладывал переделку работы с устройствами на шине МПИ, а это надо всё-таки сделать - так чтобы каждое устройство было отдельным классом, и маппинг на адресное пространство делался автоматически. После этого уже стоит делать реализацию остальных устройств - а в этом списке уже есть RAM-диски и джойстики.

Полгода назад я переехал в Москву, затем сильно вложился в активности на работе, сделал несколько публичных выступлений - не так много было времени на эмулятор, сорри.

hobot
05.12.2019, 21:19
Может я плохо смотрел, но я там не увидел как видится AZ контроллер со стороны УКНЦ - видимо как сетевая карта, но детали мне не очень понятны.

Просьба авторов "пряника" прокомментировать, AFZ & SuperMax .


Пока запуск будет делаться так же, как и на ДВК: запуском программы с адреса 177224 или 177226. Не знаю, получится ли заставить контроллер на время запуска прикинуться сетевым адаптером. Если да, то он будет запускаться из загрузочного меню по выбору "Загрузка из сети", но пока я вижу на этом пути некоторые трудности и не уверен, что смогу с ними справиться. Но и запуск в стиле ДВК - тоже ничего сложного: остановили ЦП (перешли в пультовой режим, кнопка СТОП, да?), набрали 177226 и нажали кнопку ИСП. И все, пошла загрузка.

- - - Добавлено - - -


уточню
1. при запуска УКНЦ пытается загрузится с сети
2. далее выводит меню в котором есть пункт "отладка"
соответственно выбрав его, набираем 177226 и жмем кнопку "ИСП"

те в загрузке нет ничего сложного в принципе у меня к сож. нет живой платки...

Titus
05.12.2019, 23:15
Со стороны эмулятора, я всё откладывал переделку работы с устройствами на шине МПИ, а это надо всё-таки сделать - так чтобы каждое устройство было отдельным классом, и маппинг на адресное пространство делался автоматически.
Делай потактовую эмуляцию. А то я сделаю у себя)

nwelle
08.12.2019, 21:21
Делай потактовую эмуляцию. А то я сделаю у себя)

Расскажите, пожалуйста, что подразумевается под термином "потактовая эмуляция"?
А какие ещё бывают способы эмуляции?

nzeemin
08.12.2019, 22:17
Расскажите, пожалуйста, что подразумевается под термином "потактовая эмуляция"?
А какие ещё бывают способы эмуляции?

Titus имеет в виду "потактово-точную эмуляцию", и донимает меня этим с момента моего появления на этом форуме.
Сейчас, в частности, эмулятор UKNCBTL написан так, что каждая инструкция выполняется за определённое число тактов, зависит от инструкции, типа адресации, и иногда от операндов - это неточное приближение. Длительность для каждой операции выставлена "ну где-то получается так".
В реальности всё намного сложнее, потому что:
1. Аппаратная реализация процессора гораздо сложнее, в частности, там есть предвыборка операций.
2. На длительность операций влияют другие устройства - они подтормаживают выполнение операции на шине МПИ - мешают процессору выбирать команды и выполнять их, возникают дополнительные задержки.
Плюс ко всему этому, есть несколько вариантов схемотехники УКНЦ и несколько вариантов управляющих микросхем.

hobot
08.12.2019, 22:43
В реальности всё намного сложнее, потому что:
доктор г.к. сам не дурак желаемое за действительное выдать средствами своего Эму и чувствовать себя при этом
Цезарем на триумфе...

nzeemin
08.12.2019, 22:57
hobot, не надо так. Titus много сделал и продолжает делать для этой платформы, и я лично ему очень благодарен за его вклад.

Titus
08.12.2019, 23:07
доктор г.к. сам не дурак желаемое за действительное выдать средствами своего Эму и чувствовать себя при этом
Цезарем на триумфе...
Я не понял о чем ты)

- - - Добавлено - - -


Расскажите, пожалуйста, что подразумевается под термином "потактовая эмуляция"?
А какие ещё бывают способы эмуляции?
nzeemin уже все обьяснил, я думаю)

nwelle
09.12.2019, 01:51
В реальности всё намного сложнее, потому что:
1. Аппаратная реализация процессора гораздо сложнее, в частности, там есть предвыборка операций.
2. На длительность операций влияют другие устройства - они подтормаживают выполнение операции на шине МПИ - мешают процессору выбирать команды и выполнять их, возникают дополнительные задержки.
Плюс ко всему этому, есть несколько вариантов схемотехники УКНЦ и несколько вариантов управляющих микросхем.

А такой эмулятор в принципе то можно создать? Ведь получается, что для потактовой эмуляции фактически нужно знать точные временные диаграммы работы устройств на МПИ и даже, быть может, внутреннюю структуру СБИС, используемых в них. И не факт, что всю необходимую информацию можно получить из описания микросхем в справочнике и принципиальных электрических схем.

nzeemin
09.12.2019, 02:15
А такой эмулятор в принципе то можно создать? Ведь получается, что для потактовой эмуляции фактически нужно знать точные временные диаграммы работы устройств на МПИ и даже, быть может, внутреннюю структуру СБИС, используемых в них. И не факт, что всю необходимую информацию можно получить из описания микросхем в справочнике и принципиальных электрических схем.

Отдельные кусочки паззла уже есть, см. темы https://zx-pk.ru/threads/23978-tsifrovaya-arkheologiya-1801-i-vse-vse-vse.html и https://zx-pk.ru/threads/30964-revers-inzhiniring-bmk-1515khm1-2.html


* Реверс 1801ВМ2 -- см. https://github.com/1801BM1/cpu11/tree/master/vm2
* Реверс 1801ВП1-055, 1801ВП1-065, 1801ВП1-120 -- см. https://github.com/1801BM1/k1801
* Реверс 1515ХМ2-001 -- эта тема
* Реверс 1515ХМ2-003 <= **вы находитесь здесь**
* Реверс 1515ХМ1-032
* Реверс 1515ХМ1-036 либо 1515ХМ1-136
* Полная модель УКНЦ
* УКНЦ NextGen в ПЛИСе
// Просто радуюсь прогрессу. Спасибо, Titus

Но, как правильно замечает Titus, фактически ядро эмулятора надо будет переписывать. Кто когда этим будет заниматься - неизвестно.

- - - Updated - - -

Кстати, есть ещё один эмулятор УКНЦ который вполне можно довести до ума не особенно большими усилиями - драйвер uknc в составе MAME/MESS.
Может shattered до него доберётся.

https://github.com/mamedev/mame/blob/master/src/mame/drivers/uknc.cpp

randomizer
09.12.2019, 03:00
Но, как правильно замечает Titus, фактически ядро эмулятора надо будет переписывать. Кто когда этим будет заниматься - неизвестно.

Кстати, есть ещё один эмулятор УКНЦ который вполне можно довести до ума не особенно большими усилиями - драйвер uknc в составе MAME/MESS.
UKNCBTL имеет уникальную особенность - наличие отладчика. По сути единственный в своем роде инструмент разработки.
Не думаю что появление еще одного эмулятора, а уж тем более УКНЦ в ПЛИСе как то изменит это.

Hunta
09.12.2019, 10:24
нужно знать точные временные диаграммы работы устройств на МПИ
Всегда существует разброс

Titus
09.12.2019, 12:28
Всегда существует разброс
Если в системе все синхронизируется кварцем, то разбросы в определенных пределах вообще не имеют значения.
Если же во времязадающих цепочках стоят емкости, то там да, может плавать. И от нагрева в том числе.

Hunta
09.12.2019, 12:55
Если в системе все синхронизируется кварцем, то разбросы в определенных пределах вообще не имеют значения.
Тактовая частота процессора не выходит на QBUS, поэтому проц и внешние устройства никак не синхронизированы клоком. И за какое время внешнее устройство ответит на запрос процессора - зависит только от разброса параметров внешнего устройства.

Titus
09.12.2019, 13:24
Откуда у штатных устройств УКНЦ, которые все известны, разброс параметров?

Hunta
09.12.2019, 13:53
То есть все микросхемы, все резисторы, конденсаторы и т.п. - идеально изготовлены? Удачи.

Titus
09.12.2019, 14:41
То есть все микросхемы, все резисторы, конденсаторы и т.п. - идеально изготовлены? Удачи.
Зачем мешать все в одну кучу?
Возьми для примера спектрум Пентагон. На чем его не собирай, растактовка всегда одинаковая. Все демы, всякая синхронизация мультиколорных эффектов будет одинаковой, без плавания.
Единственная цепочка, в которой могут быть допуски - это длина сигнала INT, в цепи которой стоит конденсатор.

- - - Добавлено - - -

Говоря иначе, в системах, синхронизированных точным тактированием (кварцевый генератор), плавание цифровых параметров в определенных пределах не скажется ни на чем.

nzeemin
09.12.2019, 22:19
Зачем мешать все в одну кучу?
Возьми для примера спектрум Пентагон. На чем его не собирай, растактовка всегда одинаковая. Все демы, всякая синхронизация мультиколорных эффектов будет одинаковой, без плавания.
Единственная цепочка, в которой могут быть допуски - это длина сигнала INT, в цепи которой стоит конденсатор.

Окей. Вопрос, а вот это тогда что?


УКНЦ (Квант) RT-11SJ v.5.02
PIEIS v30
100 - 0.50
1000 - 39.76
3000 - 351.68

Прикольно. Запустил 3000 знаков - получил число. Запустил еще раз - получил большее число. Поставил вентилятор на проц - получил самое маленькое число. :-)

Titus
09.12.2019, 22:23
Окей. Вопрос, а вот это тогда что?
Я думаю, что это та самая емкостная линия задержки в какой-то из цепей. Нагреваясь, параметр меняется, и вместо, допустим, 16 тактов на команду, становится 20 (если говорить о ПП, т.к. его скорость кратна 4 тактам).

Hunta
10.12.2019, 06:01
Если же во времязадающих цепочках стоят емкости

Я думаю, что это та самая емкостная линия задержки в какой-то из цепей
Ткните пальцем - где? Пока я вижу только кофейную гущу.
А заодно объясните эффект - на выходе RPLY ОК - скорострельность 1280 коп/с, на выходе RPLY 3С - скорострельность 1600 коп/с. Кварц один и тот же.
А вообще не надо, не объясняйте - догадки и гадания - я их и сам могу нарисовать

shattered
29.12.2019, 17:15
Кстати, есть ещё один эмулятор УКНЦ который вполне можно довести до ума не особенно большими усилиями - драйвер uknc в составе MAME/MESS.
https://github.com/mamedev/mame/blob/master/src/mame/drivers/uknc.cpp

Да, но нет. Работы нужно много, начиная с переписывания cpu core, шины и далее везде. Черновой вариант (конец 2016 года) -- https://github.com/shattered/mame/commits/gitwip (тут не только УКНЦ, но и МС1201 с КЦГД). Cам этим заниматься не планирую, но могу залить более свежие исходники и обрисовать планы тем, кто захочет продолжить.

nzeemin
18.01.2020, 07:55
Собрал и выложил утилиты для эмулятора УКНЦ - https://github.com/nzeemin/ukncbtl-utils/releases/download/20200118/ukncbtl-utils-20200118.zip
Как бы ничего нового (последние правки были в октябре 2019), просто чтобы было на гитхабе - не все сидят на этом форуме.

hobot
18.01.2020, 14:08
Собрал и выложил утилиты для эмулятора УКНЦ - https://github.com/nzeemin/ukncbtl-utils/releases/download/20200118/ukncbtl-utils-20200118.zip
Как бы ничего нового (последние правки были в октябре 2019), просто чтобы было на гитхабе - не все сидят на этом форуме.

Папка эмулятора в общедоступном "хламничке"
{чего там только не было - чего там только нет ;-) }
http://hobot.pdp-11.ru/EMULATORS/UKNCBTL_HDD/
+ тема с играми на этом форуме (https://zx-pk.ru/threads/20593-obsuzhdaem-igry-(uk-nts-dvk-bk-nemiga-i-dr-).html) читайте первое сообщение, там дополнительные ссылки на игры и сохранения (SaveState)
для UKNCBTL.

nzeemin
01.03.2020, 20:27
В этой версии немного изменений:
1. Поправлена таблица перекодировки из набора символов УКНЦ в Юникод - влияет на команду Screen to Text и на изображение символов в окне Memory.
2. Меня всё-таки убедили что GRB это правильная палитра, поэтому она сделана дефолтной в эмуляторе.

Скачать: https://github.com/nzeemin/ukncbtl/releases/download/release-1.0.644/ukncbtl-644-exe.zip

hobot
24.04.2020, 03:29
nzeemin, хотел узнать твоё мнение по такому вопросу:

В архиве часть ПО, которое требует стандартной сети УК-НЦ (как в школе), какова возможность
включить\добавить в новой версии эмулятора - виртуальную РМУ - по галочке (подкл\откл).
У которой СА вместо КМД и слотов ПЗУ и соотв. окно, а СА слухает только основное окно эмулятора.
Тогда по вкл. на экране РМУ всегда "*ЗАГРУЗКА ИЗ СЕТИ*", пока пакетики не полетят от РМП (основного окна UKNCBTL),
это не хотелка\не просьба - обсуждение возможности\идеи такой реализации?

Спасибо.
http://s17.rimg.info/125c350d70ce1efd6dd07e3e54d23c7f.gif

зы: в плане интерфейса - просто представь, что в родительском окне две вкладки РМП (это текущая допустим 644 УК-НЦ ) и
РМУ ( это по умолч. не активная сетевая 644-машинка у которой все те же экранные настройки, только нет никаких дискет и слотов).
Как-то так?

nzeemin
26.04.2020, 16:48
А в UKNCBTL почти точно эмулируется 1801ВП1-128 и дисковод. В виртуальном дисководе дискета вращается со скоростью 5 об/сек, соответственно слова формируются аккуратно каждые 64 мкс. Эмулируется программируемый таймер, потому есть ожидание раскрутки мотора и перехода на другую дорожку. Единственно после перехода на другую дорожку виртуальная головка оказывается в самом её начале. На реальном УКНЦ с дисководом 3,5" у меня команда проверки дискеты DIR/FIL/BAD проходит за 50 с лишним секунд, а в эмуляторе UKNCBTL за 1 мин 10-15 сек.

В EmuStudio точной эмуляции нет, команда DIR/BAD/FIL прошла за 12 сек.

Этот момент поправил. Теперь DIR/FIL/BAD в эмуляторе проходит за ~34 секунды.

Кроме того, в этой версии добавлена команда File > Screenshot to Clipboard.

- - - Updated - - -


nzeemin, хотел узнать твоё мнение по такому вопросу:

Пока развитие сети не в приоритете.

Alex_K
26.04.2020, 17:36
Этот момент поправил. Теперь DIR/FIL/BAD в эмуляторе проходит за ~34 секунды.
Как-то быстровато. Насколько я понимаю, при смене стороны/дорожки головка оказывает сразу в начале дорожки. Тогда да, полная дискета прочтется где-то за 32 сек.

- - - Добавлено - - -


Как-то быстровато. Насколько я понимаю, при смене стороны/дорожки головка оказывает сразу в начале дорожки. Тогда да, полная дискета прочтется где-то за 32 сек.
Посмотрел на github. Да, всё правильно. После чтения последнего сектора ещё остаётся промежуток GAP4 до конца дорожки и GAP1 в начале следующей. За это время драйвер дисковода успевает сделать подготовительные операции для чтения первого сектора на следующей дорожке. А когда позиция обнулялась, то размера GAP1 не хватало и первый сектор пропускался, в итоге - лишний оборот.

- - - Добавлено - - -

У меня на реальной машине около 52 сек. Но на контроллере не стоит перемычка, временные параметры для НГМД-6022, а они там большие. Надо будет попробовать с перемычкой.

nzeemin
27.06.2020, 01:36
* что то не то с цветами в отлачике, основной текст заметен но нечитабелен
https://i.ibb.co/cwbmKJj/Screenshot-20191117-221524.png (https://ibb.co/cwbmKJj)


Лучше поздно чем никогда - улучшил цвета в тёмной теме в Qt-версии эмулятора, проверял под kubuntu.
Не идеально, но теперь хотя бы основной текст стал читаемым.

https://user-images.githubusercontent.com/10085275/85904479-83002100-b811-11ea-98f0-262ae6d3916f.png

randomizer
28.06.2020, 11:26
Не идеально, но теперь хотя бы основной текст стал читаемым.
Огонь! QT версия почти готова стать основным инструментом. :v2_dizzy_punk:

Кстати, обнаружил баг/особенность эмулятора.
Касается это регистра управления адресным пространством ПП.
С помощью этого регистра можно подставлять ОЗУ выше 0100000 в адресное пространство ПП, но как это работает из тех описания не очень понятно.
Как в итоге я выяснил, когда выставляешь в регистре разряды замены банков ПЗУ банками ОЗУ.
Это позволяет напрямую писать в ОЗУ, но читается не то что записал(подозреваю что чтение производится из ПЗУ)
Чтобы читать из ОЗУ, необходимо отключать сестемное ПЗУ. Но это возможно только для диапазона 100000-117777

А в эмуляторе достаточно выставить любой разряд замены и можно как писать в подставленное ОЗУ, так и читать из него.
Вроде бы баг, но когда знаешь о нём, он в общем то не мешает.

Titus
28.06.2020, 11:43
С помощью этого регистра можно подставлять ОЗУ выше 0100000 в адресное пространство ПП, но как это работает из тех описания не очень понятно.
Как в итоге я выяснил, когда выставляешь в регистре разряды замены банков ПЗУ банками ОЗУ.
Это позволяет напрямую писать в ОЗУ, но читается не то что записал(подозреваю что чтение производится из ПЗУ)
Чтобы читать из ОЗУ, необходимо отключать сестемное ПЗУ. Но это возможно только для диапазона 100000-117777
Это хорошо понятно из реверса чипов в соответствующей теме)

Alex_K
28.06.2020, 12:16
Кстати, обнаружил баг/особенность эмулятора.
Касается это регистра управления адресным пространством ПП.
С помощью этого регистра можно подставлять ОЗУ выше 0100000 в адресное пространство ПП, но как это работает из тех описания не очень понятно.
Как в итоге я выяснил, когда выставляешь в регистре разряды замены банков ПЗУ банками ОЗУ.
Это позволяет напрямую писать в ОЗУ, но читается не то что записал(подозреваю что чтение производится из ПЗУ)
Чтобы читать из ОЗУ, необходимо отключать сестемное ПЗУ. Но это возможно только для диапазона 100000-117777

А в эмуляторе достаточно выставить любой разряд замены и можно как писать в подставленное ОЗУ, так и читать из него.
Вроде бы баг, но когда знаешь о нём, он в общем то не мешает.
Да, эмулятор в этом плане работает некорректно.
При подставлении ОЗУ в области ПЗУ на реальной машине работают одновременно и ПЗУ и ОЗУ. Т.к. ПЗУ поддерживает только чтение, то в ОЗУ можно спокойно писать командами MOV, CLR. А вот при чтении одновременно работают и ПЗУ и ОЗУ. Т.к. ПЗУ быстрее, то оно сразу выставляет на шину данные и сигнал RPLY. А с контроллером ОЗУ возникает следующий эффект: чтение с ОЗУ в области ПП происходит за два захода - сначала читается младший байт, потом старший. Но контроллер ОЗУ при команде чтения сразу же выставляет свой буферный регистр на шину, в том регистре результат предыдущего чтения с ОЗУ. Потому в качестве результата оказывается сложенное по ИЛИ значение чтения с ПЗУ и результат предыдущего чтения с ОЗУ. Иногда контроллер ОЗУ за это время успевает прочесть младший байт с ОЗУ, в итоге результатом чтения будет значение чтения с ПЗУ и сложенное по ИЛИ значение старшего байта предыдущего чтения с ОЗУ и значение младшего байта текущего чтения с ОЗУ.
В окне 100000-117777 ПЗУ можно отключить. Тогда с ОЗУ можно полноценно работать. Но это только в том случае, если в разъемы ВУ не установлен контроллер IDE или электронный диск от ЭР.

randomizer
28.06.2020, 13:10
Но это только в том случае, если в разъемы ВУ не установлен контроллер IDE или электронный диск от ЭР.
А почему так? Ведь выборка внешнего ПЗУ тоже управляется установкой разрядов в соответствующем регистре.
Можно его деактивировать при необходимости, или изначально не подключать банки внешнего ПЗУ.

Alex_K
28.06.2020, 13:22
А почему так? Ведь выборка внешнего ПЗУ тоже управляется установкой разрядов в соответствующем регистре.
Можно его деактивировать при необходимости, или изначально не подключать банки внешнего ПЗУ.
Обе схемы изначально разрабатывались ЭЛЕКТРОННЫМИ РАБОТАМИ. Там выбор платы сделан довольно простым способом - запрет системного ПЗУ сигналом CE0 и выбор соответствующего слота сигналом CE3. Состояние сигналов CE1 и CE2 роли не играет. Так что возможен такой вариант, что отключили системное ПЗУ в окне 100000-117777, а туда сразу же может встать контроллер IDE, в зависимости от состояния сигнала CE3.

nzeemin
28.06.2020, 13:45
Да, эмулятор в этом плане работает некорректно.
При подставлении ОЗУ в области ПЗУ на реальной машине работают одновременно и ПЗУ и ОЗУ. Т.к. ПЗУ поддерживает только чтение, то в ОЗУ можно спокойно писать командами MOV, CLR. А вот при чтении одновременно работают и ПЗУ и ОЗУ. Т.к. ПЗУ быстрее, то оно сразу выставляет на шину данные и сигнал RPLY. А с контроллером ОЗУ возникает следующий эффект: чтение с ОЗУ в области ПП происходит за два захода - сначала читается младший байт, потом старший. Но контроллер ОЗУ при команде чтения сразу же выставляет свой буферный регистр на шину, в том регистре результат предыдущего чтения с ОЗУ. Потому в качестве результата оказывается сложенное по ИЛИ значение чтения с ПЗУ и результат предыдущего чтения с ОЗУ. Иногда контроллер ОЗУ за это время успевает прочесть младший байт с ОЗУ, в итоге результатом чтения будет значение чтения с ПЗУ и сложенное по ИЛИ значение старшего байта предыдущего чтения с ОЗУ и значение младшего байта текущего чтения с ОЗУ.
В окне 100000-117777 ПЗУ можно отключить. Тогда с ОЗУ можно полноценно работать. Но это только в том случае, если в разъемы ВУ не установлен контроллер IDE или электронный диск от ЭР.

Как я понимаю, эта же проблема уже описана тут - https://zx-pk.ru/threads/31349-uknts-otklyuchenie-rom-pp-i-emulyatsiya.html
Записал в бэклог, пока не занимался совсем.

randomizer
28.06.2020, 14:11
Как я понимаю, эта же проблема уже описана тут - https://zx-pk.ru/threads/31349-uknts...ulyatsiya.html
О, видимо тема быстро ушла с первой страницы форума. Как раз в отпуске тогда был.

Alex_K
28.06.2020, 14:16
Как я понимаю, эта же проблема уже описана тут - https://zx-pk.ru/threads/31349-uknts-otklyuchenie-rom-pp-i-emulyatsiya.html
Записал в бэклог, пока не занимался совсем.
Да, там она описана. Я тоже там высказывался. Единственно, что я говорил, что команды MOVB и CLRB лучше не употреблять. Но скажу, что всё таки эти команды употреблять можно, т.к. у этих команд чтение фиктивное и его результаты не используются.

nzeemin
01.07.2020, 12:14
randomizer, в Qt-версии исправил проблему с палитрами, проверьте у себя пожалуйста.

randomizer
01.07.2020, 13:29
randomizer, в Qt-версии исправил проблему с палитрами, проверьте у себя пожалуйста.
Теперь всё корректно. Спасибо!

Но по цветам ещё есть замечание - в эмуляторе, значения яркости задаваемые регистром палитры слабо заметны.
Например если, если понизить яркость зелёного этим регистром, то на ЭЛТ мониторе вместо жёлтого, я вижу оранжевый.
Глядя на изображение в эмуляторе, если не знаешь, то сразу и не скажешь что на экране не чисто желтый, а оранжевый.

Последний коммит обратил внимание на то, что для повышенной яркости используется значение 0xFF, для обычной 0x80, а вот для пониженной 0x60 и 0xDF.
Т.е. обычная и пониженная яркость отличаются 33%
А если вглянуть на схему, то для обычной яркости стоит резистор 390 Ом, для пониженной 820 Ом, отличие на 50%

Правильней было бы вместо значений 0x60 и 0xDF использовать 0x40 и 0xC0

nzeemin
01.07.2020, 15:04
Но по цветам ещё есть замечание - в эмуляторе, значения яркости задаваемые регистром палитры слабо заметны.
Например если, если понизить яркость зелёного этим регистром, то на ЭЛТ мониторе вместо жёлтого, я вижу оранжевый.
Глядя на изображение в эмуляторе, если не знаешь, то сразу и не скажешь что на экране не чисто желтый, а оранжевый.

Последний коммит обратил внимание на то, что для повышенной яркости используется значение 0xFF, для обычной 0x80, а вот для пониженной 0x60 и 0xDF.
Т.е. обычная и пониженная яркость отличаются 33%
А если вглянуть на схему, то для обычной яркости стоит резистор 390 Ом, для пониженной 820 Ом, отличие на 50%

Правильней было бы вместо значений 0x60 и 0xDF использовать 0x40 и 0xC0

Насколько я помню, уровни яркости в частности и цвета вообще подбирались так чтобы соответствовать полной палитре из TSTPAL от Titus:

https://github.com/nzeemin/ukncbtl-doc/raw/master/screenshot/Uknc-paltst-ygrb.png

См. тему https://zx-pk.ru/threads/20686-mnogo-tsvetov-na-uknts!.html

randomizer
01.07.2020, 15:59
Насколько я помню, уровни яркости в частности и цвета вообще подбирались так чтобы соответствовать полной палитре из TSTPAL от @Titus:
Как подбирались? Визуально? К какому монитору подключалась УКНЦ, CRT или LCD?

По схеме УКНЦ можно четко определить как по уровню отличается сигналы с обычной, пониженной, и повышенной яркостями.

Titus
01.07.2020, 16:32
Как подбирались? Визуально? К какому монитору подключалась УКНЦ, CRT или LCD?

По схеме УКНЦ можно четко определить как по уровню отличается сигналы с обычной, пониженной, и повышенной яркостями.
Мною подбирались. Не на основе уровней сигналов, а на основе субьективного понимания, какие должны быть оттенки пониженной яркости, чтобы от них был какой-то прикладной смысл. Не слишком темные, но они и не должны сливаться с полными яркостями.

randomizer
01.07.2020, 16:40
на основе субьективного понимания
А как же реальные УКНЦ?
Переделываем на основе субъективного понимания?
Так оно свое у каждого.

Titus
01.07.2020, 17:18
А как же реальные УКНЦ?
Переделываем на основе субъективного понимания?
Так оно свое у каждого.
На реальной УКНЦ оно смотрелось похоже. Но моники разные, особенно старые. Там и гамма нелинейная, скорее всего, и все такое прочее. По ним сложно сделать оценку.

nzeemin
01.07.2020, 17:29
А как же реальные УКНЦ?
Переделываем на основе субъективного понимания?
Так оно свое у каждого.

А на реале не у каждого своё, все УКНЦ одинаковые? :-)
Напомню цитату (Худяков Р.К. Практика работы с периферийным процессором УКНЦ, "ИНФО", начало 1993 года_:


Здесь следует заметить одну деталь. На машинах з-да "КВАНТ" литеры 5 из схемы контроллера цветного монитора удалена ИС 155ЛП9 , поэтому изменения яркостного бита ни к чему не приводят, а на почти половине машин з-да "СЭМЗ" ИС 155ЛП9 заменена на ИС 155ЛН2 поэтому в яркостный бит для получения 100% яркости нужно записать 0 , а для 50% - 1 , но опять же все выше сказанное справедливо только для цветного монитора. На отображение градаций яркости на черно-белом мониторе этот бит не влияет. Так же последние полтора года изменена схема подключения цветного монитора (поменяны между собой выходы красного зеленого цветов). Это тоже следует иметь ввиду.

randomizer
01.07.2020, 17:38
На реальной УКНЦ оно смотрелось похоже. Но моники разные, особенно старые.
На физические уровни сигналов не влияют ни искажения монитора, ни субъективное восприятие :v2_wink2:

Субъективно, градации которые я вижу на Sony PVM имеют смысл.
Если смотреть на то как это в эмуляторе выглядит, впечатление - просто не стоило заморачиваться с переключением палитр.

- - - Добавлено - - -


А на реале не у каждого своё, все УКНЦ одинаковые? :-)
То какая ИС установлена не влияет на номиналы резисторов. Именно они определяют уровень сигнала.
От ИС только зависить при 0 или при 1 этот резистор задействован будет.

nzeemin
01.07.2020, 18:00
Субъективно, градации которые я вижу на Sony PVM имеют смысл.
Если смотреть на то как это в эмуляторе выглядит, впечатление - просто не стоило заморачиваться с переключением палитр.


На Sony PVM и вашей конкретной УКНЦ - вероятно имеет смысл. Для среднего пользователя с рандомным телевизором - вероятно нет.

Как вариант, могу сделать в эмуляторе ещё две палитры - для 16 цветов (8 цветов в двух градациях яркости), RGB/GRB.

randomizer
01.07.2020, 19:23
На Sony PVM и вашей конкретной УКНЦ - вероятно имеет смысл. Для среднего пользователя с рандомным телевизором - вероятно нет.
Есть конкретные УКНЦ, есть конкретные схемы. На них и я предложил ориентироваться. А не на субъективное мнение.


Как вариант, могу сделать в эмуляторе ещё две палитры - для 16 цветов (8 цветов в двух градациях яркости), RGB/GRB.
Палитра с шагом яркостей каждой компоненты цвета в 25%. Или 0x40, 0x80, 0xC0 0xFF
Было бы здорово :v2_dizzy_yes:

- - - Добавлено - - -

Кстати :v2_dizzy_biggrin2:
Инверсные или неиверсные яркости - это можно переключать в программе.
RGB/GRB - переключение, тоже можно добавить в свою программу.
А вот подкорректировать физические уровни цветовых компонент - увы, без паяльника никак.

Titus
02.07.2020, 00:07
Субъективно, градации которые я вижу на Sony PVM имеют смысл.
Если смотреть на то как это в эмуляторе выглядит, впечатление - просто не стоило заморачиваться с переключением палитр.
Ты просто не видел скрины под расширенную палитру. Поищи в той теме скрины от супер-марио, например.

randomizer
02.07.2020, 01:23
Ты просто не видел скрины под расширенную палитру. Поищи в той теме скрины от супер-марио, например.
Не поленился, нашел https://zx-pk.ru/threads/20686-mnogo-tsvetov-na-uknts!.html?p=570173&viewfull=1#post570173
Подозреваю что здесть тоже изображение субъективно подобранными цветами
Интересно на это посмотреть на реальной машине, а не в таком виде.

На мой взгляд отсутствие чистого белого портит всю картину.
У меня даже есть идея сделать так, чтобы вместо черного с установленным битом яркости отображался чисто белый.
Т.е. из двух черных в палитре, один использовать под вывод чистого белого.

Titus
02.07.2020, 01:31
Не поленился, нашел https://zx-pk.ru/threads/20686-mnogo...l=1#post570173
Подозреваю что здесть тоже изображение субъективно подобранными цветами
Интересно на это посмотреть на реальной машине, а не в таком виде.
Это не единственная картинка) В теме есть еще.

Она в палитре из моего эмулятора.

- - - Добавлено - - -


На мой взгляд отсутствие чистого белого портит всю картину.
У меня даже есть идея сделать так, чтобы вместо черного с установленным битом яркости отображался чисто белый.
Т.е. из двух черных в палитре, один использовать под вывод чистого белого.
Ты хочешь переделать схему формирования цвета в УКНЦ?)

randomizer
02.07.2020, 10:41
Ты хочешь переделать схему формирования цвета в УКНЦ?)
Не переделать, а доработать. Два черных цвета в палитре, это роскошь которую мы не можем себе позволить. :v2_smile:
Это же не перекраивание палитры на свой лад.

nzeemin
02.07.2020, 11:29
Не переделать, а доработать. Два черных цвета в палитре, это роскошь которую мы не можем себе позволить. :v2_smile:
Это же не перекраивание палитры на свой лад.

Давайте про аппаратные доработки обсуждать в другой теме.
И да, это перекраивание палитры на свой лад.