Emu80 v.4

Эмулятор Радио-86РК и других советских компьютеров на КР580ВМ80А http://www.emu80.org

Moderator: Pyk

tchv71
Writer
Posts: 12
Joined: 19 Mar 2021 18:47

Re: Emu80 v.4

Post by tchv71 »

Pyk wrote:tchv71, что касается отсутствия инверсии и пунктирного подчеркивания на оригинальном РК: в свое время, когда я этим занимался, мой РК вышел из строя, я не смог протестировать на реале этот режим и отложил на потом. РК я так и не починил, и "потом" так и не настало ;) В общем, правкой конфига не обойдешься, хотя сделать скорее всего несложно. Но хотелось бы тесты позапускать на реале, чтобы понять, как точно этот пунктир отображается в разных ситуациях. Есть такая возможность?

По клавишам на MacOS: если на MacOS Ctrl сделаю как дубль УС, а не Alt - нормально будет?
Да, прямо сейчас реальный РК есть у меня (совсем оригинал) и Алекса Исмаилова (новодел, но полная реплика), мы бываем на телеграмм канале про 8080 (не знаю, этично ли тут давать ссылку).

Да, было бы хорошо на МакОси просто сделать маппинг УС на Ctrl
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

Боюсь, что прямо сейчас я не смогу заняться доработкой эмулятора. Скорее всего выберу время через неделю-две. Но попробую на днях подготовить тесты для тестирования подчеркивания.
tchv71
Writer
Posts: 12
Joined: 19 Mar 2021 18:47

Re: Emu80 v.4

Post by tchv71 »

Pyk wrote:Боюсь, что прямо сейчас я не смогу заняться доработкой эмулятора. Скорее всего выберу время через неделю-две. Но попробую на днях подготовить тесты для тестирования подчеркивания.
Мы готовы с Алексом помочь, чем сможем. В основном Алекс - на мой РК передача данных пока только через магнитофонный вход.
Или ручками команды монитора вбивать
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

Рад представить новую версию сайта: https://emu80.org

Из важного: сделал раздел с файловым архивом, где буду размещать всякое-разное, имеющее отношение к эмулятору и поддерживаемым компьютерам. Много всего уже добавил, но и многое еще ждет своей очереди — буду пополнять. Принцип отбора материалов — то, что кажется важным или интересным лично мне ;) Все выложенные файлы были в открытом доступе, но если вдруг выложил что-то, что выкладывать не следовало — без проблем уберу либо актуализирую...

Ну и всегда рад замечаниям и предложениям :)
DDp
Novelist
Posts: 46
Joined: 24 Aug 2006 02:14
Location: pуcвoceмьнадцaть

Прерывистое подчёркивание в РК и Микроше

Post by DDp »

Набросал небольшой тестик для изучения прерывистого подчёркивания в РК и Микроше.
https://disk.yandex.ru/d/oBqWd5ANbHCsDg (тест и захваченное видео)

Всё дело в цепи D15выв20 - D13выв13.
«Ноль» (белый пиксель) на выводе 20 сдвигового регистра D15 во время строба D15выв11 не даст загрузить данные с D13выв12 и, соответственно, подчёркивание не будет нарисовано.

Обычно, подчеркивание в РК на 10 линии, а символы знакогенератора со 2 по 9.
Далее, можно поднять подчеркивание и изучать, как влияют белые пиксели символов на подчеркивание.

В «Апогее» обратной связи с D15выв20 на сброс триггера D13 нет, подчёркивание там непрерывное.
You do not have the required permissions to view the files attached to this post.
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

Спасибо за удобный тест и результаты с РК и Микроши!
В общих чертах-то, и так, конечно, было понятно, как та связь должна работает (чего не скажешь о том, зачем она была нужна ;), но разные нюансы, похоже, присутствуют. Изучу результаты теста, возможно еще набросаю тестиков для каких-нибудь частных случаев для прогона на реале.
DDp
Novelist
Posts: 46
Joined: 24 Aug 2006 02:14
Location: pуcвoceмьнадцaть

Re: Emu80 v.4

Post by DDp »

Добавил в результаты видео "04".
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

Вот еще результаты дополнительных тестов, выполненных DDp:
https://disk.yandex.ru/d/30i17GVlqCpYvw
Вроде бы информации должно быть достаточно, посмотрим по результатам реализации в эмуляторе, останутся ли вопросы.
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

Есть непонятный момент. Смотрим prnd - рк-86 или Микрошу, левый нижний угол.

На реале:
Image Image

Что получилось в эмуляторе, исходя из предполагаемой логики работы схемы:
Image Image

Для сравнения: на Апогее без пунктира все совпадает на реале и в эмуляторе:
Image

Смотрим побайтно:
CE - символ псевдографики (N)
26 - &
A4 - атрибут, не отображается, включает lten, во время отображения атрибута lten неактивен
D7 - символ псевдографики (W), lten (bit 5) не активен (переопределяется в самом символе)
DA - символ псевдографики (Z), lten (bit 5) не активен (переопределяется в самом символе)
00 - пробел, становится, наконец, активным lten, заданный 3 символами ранее атрибутом A4

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

Есть идеи, в чем может быть дело?

Посмотреть бы, что будет с этой последовательностью дальше, если ее продолжить нулями:
CE 26 A4 D7 DA 00 00 00 00 00 00 ...
DDp
Novelist
Posts: 46
Joined: 24 Aug 2006 02:14
Location: pуcвoceмьнадцaть

Re: Emu80 v.4

Post by DDp »

Pyk wrote:Есть непонятный момент...

Есть идеи, в чем может быть дело?
Белые пиксели. :kruto:


Наши настройки ВГ75:
parameter M, Line Counter Mode = 1 (шрифт сдвинут вниз на одну линию);
parameter UUUU, Underline Placement = 9 (подчёркивание на линии 9).

Image

На линии 0 должна быть 9-я строка шрифта, но у нас 9&7 = 1-я строка шрифта.
На линии 9 (там же, где и линия подчёркивания) 8&7 = 0-я строка шрифта.
Если подчёркивание на линии 8 и ниже, то первая и последняя линии (0 и 9) затеняются (сигнал VSP), кроме случая прорисовки символа псевдографики.

Что в данном случае: на линии подчеркивания в позиции символа псевдографики (Z) есть белые пиксели, таким образом сигнал LTEN не загрузится в триггер D13 и в следующем знакоместе подчёркивание не будет нарисовано.
Last edited by DDp on 08 Jun 2021 11:36, edited 1 time in total.
DDp
Novelist
Posts: 46
Joined: 24 Aug 2006 02:14
Location: pуcвoceмьнадцaть

Re: Emu80 v.4

Post by DDp »

Добавил в результаты видео "05" https://disk.yandex.ru/d/oBqWd5ANbHCsDg
На видео: символ наклонной черты (/) ломает последовательность подчеркивания. И делает это только там, где "включен" третий справа (четвёртый слева) пиксель.

Обратить внимание на цепочку псевдографических символов "горизонтальная линия" (0xE0) - просвечивает символ "Ю" (0x60), LTEN тут тоже иногда не работает для рисования горизонтальной линии.
DDp
Novelist
Posts: 46
Joined: 24 Aug 2006 02:14
Location: pуcвoceмьнадцaть

Re: Emu80 v.4

Post by DDp »

Резюмируя: (для классических схем Радио86РК и Микроши)
если на линии подчеркивания включен третий справа пиксель, то активный сигнал LTEN для следующего знакоместа не сработает.
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

Ничего себе!

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

4 дополнительных строки кода, и вроде бы точное попадание :)

 Скриншот
Image

P.S. Тест PRND завтра сравню...
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

PRND также выдал полное совпадение :)
Доведу до ума и сделаю коммит, войдет в следующий релиз
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Emu80 v.4

Post by Pyk »

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

Версия 4.0.362 от 24.06.2021:
https://emu80.org/news/v40362

Сайт эмулятора: https://emu80.org

Загрузить:

Qt-версия (рекомендуется):
Windows-сборка (portable): http://emu80.org/v4beta/Emu80qt_40362.zip
MacOS-сборка: http://emu80.org/v4beta/Emu80qt_40362_macos.zip

Portable SDL/wx-версия, windows-сборка:
http://emu80.org/v4beta/Emu80_40362.zip

Исходники:
https://github.com/vpyk/emu80v4


Изменения в версии 4.0.362:

Легенда:
+ Нововведение
* Изменение / улучшение
- Исправлен баг
! Известная проблема

+ Опция быстрого сброса, горячая клавиша для включения/выключения - Alt-U. Доступна на ПК Львов, Орион, Микро-80 (с монитором РК-86).
* Оригинальный ч/б видеорежим с пунктирным подчеркиванием на РК-86 (добавлен) и Микроше (исправлен)
* MacOS: клавиша Control сейчас работает как УС (СС), не дублирует Alt (Option)
* Добавлены ассоциации расширений .cas, .rom и .lvt с платформами «ПК8000», «Вектор» и «Львов» при запуске из командной строки
* SDL/wx: горячая клавиша для максимизации окна изменена с Alt-M на Alt-Shift-M, на Alt-M назначено отключение звука, как и в Qt-версии
* Новая горячая клавиша Alt-T для включения/отключения перехвата магнитофонных операций
* В справку по «ПК8000» и «Вектор» добавлены схемы раскладки клавиатуры
* Добавлены всплывающие подсказки к элементам строки состояния
- Исправления в ч/б палитре ПК8000
- Исправлена работа клавиш «начало строки» (NumPad «1») и «конец строки» (NumPad «3») на ПК8000
- Исправлено отображение текущей платформы в заголовке окна эмулятора для некоторых конфигураций Радио-86РК


Возможно, в течение лета сделаю еще один релиз, но серьезные доработки останутся до осени.