PDA

Просмотр полной версии : Текстовый редактор для РЛК с UnWrap режимом



Alikberov
11.04.2023, 19:22
Как известно, для РЛК существовало, как минимум, два редактора:
ED.МИКРОН
WEL
Однако, у этих редакторов имеются три небольших недостатка:
Жёсткая посадка на адрес 0000
Ограничение на количество символов в строке
Занимаемое в ОЗУ место
Одно время среди коллег витала в воздухе мысль, что неплохо бы иметь для РЛК простой экранный редактор, доступный сразу по включению из дополнительного ПЗУ.
Оригинальный Монитор РЛК имеет в странную директиву U с переходом на адрес F000, что предоставило бы очень простой запуск любого дополнительного кода.

Ещё со времён DOS всегда интересовал механизм кода, отвечающий за вывод/редактирования текста оболочками Norton/Volcov Commander в режиме UnWrap.
Этим месяцем (апрелем) решению вопроса разработки подобного редактора было посвящено всё свободное время.

Вниманию любителей РЛК представляется ещё один текстовый редактор:
Поддержка строк длинною до 255 символов
Стандартное отображение отступов табуляции
Горизонтальная и вертикальная прокрутки
Поддержка пользовательского кода (транслятора/компилятора/информатора)
Поддержка светового пера (экспериментальная)


Весь цикл разработки и отладки кода ведётся в известном онлайн-эмуляторе (https://zx-pk.ru/threads/20127-emulyator-radio-86rk-na-javascript.html), поддерживающим световое перо (https://zx-pk.ru/threads/20127-emulyator-radio-86rk-na-javascript.html?p=1107743&viewfull=1#post1107743) мышью ПК и загрузку внешних файлов (https://zx-pk.ru/threads/20127-emulyator-radio-86rk-na-javascript.html?p=1107841&viewfull=1#post1107841).
Именно в конкретном эмуляторе:
Работают по назначению клавиши DELETE/END/HOME
Курсор в тексте быстро позиционируется мышью
Клавиша F1 или двойной клик мышью вызывает "контекстное меню" (транслятора/компилятора/информатора)
Клавиши F2/F3 прокручивает окно текста
Нажатие мышью за пределами региона редактирования совершает вертикальную или горизонтальную прокрутку


P.S.: Не зная, как Администрация отнесётся ко внешним ссылкам, предоставляю лишь скриншот. А все желающие проверить, могут получить ссылку через ЛС.
78748
78749

CityAceE
11.04.2023, 20:27
как Администрация отнесётся ко внешним ссылкам
По этому поводу на форуме нет никаких ограничений.

Alikberov
11.04.2023, 20:38
По этому поводу на форуме нет никаких ограничений.Спасибо!

Запустить UnWrap редактор (https://rk86.ru/?file=https://gist.githubusercontent.com/Alikberov/7ff0b6c37bf7bb674b3dc4819658949e/raw/ca07027de4afd12d80a45e5e5b3346ed967e1706/rk86-screen-editor.json).

Кто желает проверить в других эмуляторах или на "железе", может скачать файл 78761
(Внимание! Файл содержит модифицированный вариант чисто для ознакомления.)
После загрузки rkr-файла и запуском по G0, выйдет уведомление с приглашением откорректировать регистры PC и DE. Для оценки следует выставить PC=0800 и DE=2100.

cy6
11.04.2023, 23:47
API к редактору будет какое то?
Точки подключения других программ, таких как сохранить/загрузить/компилировать и т. д.

Alikberov
12.04.2023, 00:48
API к редактору будет какое то?
Точки подключения других программ, таких как сохранить/загрузить/компилировать и т. д.Всё зависит от того, на сколько востребована подобная поделка сообществом?
На какой адрес его посадить (типа F000 под дополнительное ПЗУ, чтобы всегда под рукой был по директиве U)?

На данный момент редактор при нажатии клавиш и по клавише F1 обращается к пользовательскому коду через единую точку (чисто для отладки), так как над API я ещё не думал.

Alikberov
23.04.2023, 09:08
Практически полностью переписал весь код редактора и избавился от обращений к подпрограмме F809 Монитора.
Теперь код сам контролирует весь экран, что позволило поднять производительность.
А подпрограмма вывода символа может работать независимо.

Редактирование строки также заметно ускорилось.
Раньше вставка/удаление символа сдвигало все данные от позиции курсора до конца всего текстового буфера, что требовало всё больше времени.
Теперь редактирование происходит в пределах ограниченной 256 байтами буферной зоны, создаваемой внутри цельного текста с заполнением кодом 0A.
Буферная зона создаётся при первом изменении строки и удаляется при переходе к другим строкам.

При первом вызове редактора требуется предустановка регистров (директивой X Монитора).

PC - Точка CallBack-вызова пользовательского кода
HL - Адрес буфера текста листинга
DE - Предустановка позиции курсора


При клике мышью (световым пером) и при нажатиях клавиш F1-F4 или УС+A-Z происходит CallBack пользовательского кода, если точка входа в него определена (PC не 0000).
При этом, подпрограмме пользователя передаётся следующая информация (через регистры):
BC - Адрес на текущую редактируемую строку
HL - Указатель на самую верхнюю отображаемую сейчас строку
DE - Шестнадцатеричный номер текущей редактируемой строки
A - Позиция в строке, на которую сейчас указывает курсор (номер символа в памяти, начиная с единицы)
Флаги: SF - Признак "буферной зоны"; ZF - Клавиши F1-F4 / УС+A-Z; PF - Двойной клик световым пером (мышью) по знакоместу; CF - Экран будет обновлён
Таким образом, подпрограмма пользователя получает достаточно информации о состоянии редактора на момент.
Подпрограмма обязана перед возвратом установить флажок CF. Иначе экран будет обновлён и устранится "буферная зона", что занимает больше времени и рекомендуется в исключительных случаях (трансляции/компиляции).

Вариант для ПЗУ можно посмотреть по ссылке (https://rk86.ru/?file=https://gist.githubusercontent.com/Alikberov/7ff0b6c37bf7bb674b3dc4819658949e/raw/f6f2921dafd27c402f9bb791a5542ba7653e2740/rk86-screen-editor.json).
При этом, по G0 запускается редактор в обычном режиме, а по G1 - с пользовательским отладчиком.

Клавиша END устанавливает экран и курсор в конец строки.
Повторное нажатие устанавливает курсор в конец экрана.
Последующие нажатия пролистывают текст листинга быстро вперёд на 25 строк.

Клавиша HOME устанавливает курсор в начало строки.
Повторное нажатие устанавливает курсор в начало экрана.
Последующие нажатия прокручивают листинг обратно на одну строку.

P.S.: Редактор практически стабилен, но требует соблюдения некоторых элементарных правил.
Нельзя редактировать текст при холостом пуске, когда на экране редактирования отобразилась версия реализации.
Нельзя превышать предельный размер строки (слиянием строк).

Alikberov
30.04.2023, 22:26
Для РАДИО-86РК существует, как минимум, два текстовых редактора:

ED.МИКРОН (http://www.emuverse.ru/wiki/%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE-86%D0%A0%D0%9A/%D0%A0%D0%B0%D0%B4%D0%B8%D0%BE_07-87/%D0%A0%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80_% D0%B8_%D0%90%D1%81%D1%81%D0%B5%D0%BC%D0%B1%D0%BB%D 0%B5%D1%80) (0000-07FF - 2Кб)
WEL (http://archive.radio.ru/web/1992/08/020/) (0000-15FF - 5.5Кб)
Однако, на практике хотелось бы что-нибудь компактнее и с другой адресной посадкой. Ещё лучше, если код редактора уместился бы в другое ПЗУ, так как официальный Монитор по директиве U уходит на адрес F000.

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

Потому, Вашему вниманию представляется версия текстового редактора с официальным названием:

ПОБЕДИТ
Представляемый текстовый редактор разработан специально на работу в дополнительном ПЗУ F000-F7FF, с аккуратным использованием области служебных ячеек Монитора, чтобы дать пользователю максимальный объём ОЗУ.
Редактор имеет самый минимальный функционал, достаточный для элементарного редактирования текстов. Однако, с помощью пользовательского кода функционал интерфейса редактора можно расширить с помощью CallBack-вызовов. Для этого предоставляется небольшой API.

Список точек вызова основных API:

F000 - Обычный запуск редактора (директива U Монитора)
F003 - Запуск редактора с указанием пользовательского кода (в HL)
F006 - Переключение (с предустановкой) буфера листинга (адрес в HL)
F009 - Переключение (без предустановки) буфера листинга (адрес в HL)
F00C - Панорамная прокрутка листинга (CF=0 - вперёд / CF=1 - назад)
F00F - Вертикальная прокрутка листинга (CF=0 - вперёд / CF=1 - назад)
F012 - Помещение в стек адреса знакоместа из непосредственных констант
F018 - Помещение в стек адреса знакоместа по позиции X=E и Y=D
F01B - Помещение в стек адреса знакоместа (без растровой коррекции)

Как видно, никаких средств текстовой обработки не предоставляется.
Однако, рассмотрим основной набор подпрограмм.

CALL F003 - Передача управления редактору с указанием ассистента
Явно передать CallBack-адрес на пользовательский код нужно регистром HL.
При этом, если буфер текста листинга не был предустановлен, директивой X Монитора пользователю предложится это сделать самостоятельно модификацией регистра HL.

CALL F006 - Предустановка буфера листинга
Данную подпрограмму следует вызывать перед передачей управления самому редактору, чтобы через регистр HL установить указатель на основной буфер листинга.

CALL F009 - Переключение буфера листинга
Пользовательский код может переключать текстовый буфер на лету, передавая адрес регистром HL. Необходимости указания на самое начало буфера нет, так как вычисление номера верхней отображаемой строки происходит автоматически.

CALL F00C - Динамическая прокрутка листинга на экране
Для прокрутки текста листинга на 1 символ влево или вправо, через флаг CF указывается направление. При этом подпрограмма возвращает флаг ZF в случае, если прокрутка не возможна по причине достижения начала строки или предела панорамы.

CALL F00F - Динамическая прокрутка листинга на экране
Для прокрутки текста листинга на 1 строку вверх или вниз, через флаг CF указывается направление. При этом подпрограмма возвращает флаг ZF в случае, если прокрутка не возможна по причине достижения начала или конца текста листинга.

CALL F012 - Помещение в стек адреса экранного знакоместа по константным координатам
Подпрограмма достаточно быстро (без цикла) математически вычисляет адрес и возвращает его в стеке. После обращения к подпрограмме, адрес следует извлекать любой командой POP.
Координаты знакоместа следует указать двумя байтами непосредственно за командой CALL.
При этом производится незначительная коррекция по знакоместу, чтобы адаптировать вывод под специфику дисплея.

CALL F018 - Помещение в стек адреса экранного знакоместа по координатам в DE с коррекцией
Подпрограмма достаточно быстро (без цикла) математически вычисляет адрес и возвращает его в стеке. После обращения к подпрограмме, адрес следует извлекать любой командой POP.
Координаты знакоместа следует указать регистрами D (позиция по Y) и E (позиция по X).
При этом производится незначительная коррекция по знакоместу, чтобы адаптировать вывод под специфику дисплея.

CALL F01B - Помещение в стек адреса экранного знакоместа по координатам в DE без коррекции
Подпрограмма достаточно быстро (без цикла) математически вычисляет адрес и возвращает его в стеке. После обращения к подпрограмме, адрес следует извлекать любой командой POP.
Координаты знакоместа следует указать регистрами D (позиция по Y) и E (позиция по X).
Никакой коррекции по знакоместу не производится.

Список критически важных ячеек программы:

F018-F01A - Три команды для растровой коррекции на ±3 знакоместа (настроить перед прошивкой ПЗУ)
F040/F041 - Начальные координаты (обычно 8 и 3) курсора (настроить перед прошивкой ПЗУ)
F4DA-F4DC - Установка флажка подпрограммы опроса клавиатуры (F812), чтобы код пользователя мог прочитать код функциональной клавиши обычным вызовом CALL F803 (читать про флаг ZF ниже)
F7FE/F7FF - Адрес входа в редактор (просто указывает на расположение основного кода)

Калибровка смещения знакомест является комплексной операцией с необходимостью взаимосвязанной правки ячеек. Вот пример:

Обычное позиционирование: F018 [00 00 00]; F040 [08 03]
Смещение на 1 знакоместо: F018 [13 00 00]; F040 [09 03]
Смещение на 2 знакоместа: F018 [13 13 00]; F040 [0A 03]
Смещение на 3 знакоместа: F018 [13 13 13]; F040 [0B 03]


Служебные ячейки для стилизация интерфейса редактора:

7629 - Код символа заполнения пространства табуляции
762A - Код символа обрамления левого края текстовой области
762B - Код символа обрамления правого края текстовой области
762D - Маскирование столбца счётчика строк (слева от текста)
762E - Корректировочное смещение знакоместа светового пера
7633 - Код символа переполнения панорамы


Служебные ячейки функционального механизма редактора:

7614 (PC директивы X) - CallBack-адрес на пользовательский код
7616 (HL директивы X) - Адрес в текстовую область листинга
7618 (BC директивы X) - Счётчик строк
761A (DE директивы X) - Позиция курсора относительно области текста
761C (SP директивы X) - Указатель на начало текущей строки с курсором
761E (AF директивы X) - Значение панорамной прокрутки и флаги
7634 - Указатель на 25 строк выше (используется для PageUp-операции)
7636 - Указатель на 1 строку выше (используется курсорной клавишей)
7638-7668 - Массив 25 указателей на каждую из 25 отображённых строк
766A - Указатель на 26 скрытую строку (используется PageDown-операцией)
766C/766D - Двоично-десятичный номер верхней скрытой строки (используется прокруткой)
766E/766E - Двоично-десятичный номер нижней скрытой строки (используется прокруткой)


Клавиши работают следующим образом:

HOME с прокрученным экраном возвращает его на 64 позиций назад
HOME из любой позиции в строке устанавливает курсор в начало строки
HOME в начале любой строки устанавливает курсор в начало экрана
HOME в начале экрана прокручивает его на 25 строк вверх (аналогично Page Up)
END/СТР устанавливает курсор в конец строки
END/СТР в конце строки устанавливает курсор в конец экрана
END/СТР в конце экрана прокручивает его на 25 строк вниз (аналогично Page Down)
DEL/ПС в любой позиции строки удаляет символ под курсором
DEL/ПС в конце строки производит слияние со следующей строкой
BS/ЗАБОЙ в любой позиции строки затирает символ перед курсором
BS/ЗАБОЙ в начале строки производит слияние с предыдущей строкой

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

BC - Шестнадцатеричный индекс (редактируемой) текущей строки
DE - Адрес на начало самой верхней отображаемой строки
HL - Адрес на начало текущей (редактируемой) строки
A - Номер столбца по позиции курсора (начало - 01) с учётом панорамы
CF флаг - Экран готовится к полной перерисовке (при клике "световым пером" или перемещением стрелками)
PF флаг - Двойной (повторный) клик "светового пера" по знакоместу с курсором
ZF флаг - Клавиши F1-F4, АР2 или УС+A-Z (код читается через вызов F803 обязательно, иначе возникнет зацикливание редактора/!\)
SF флаг - Буферная строка (редактирование в активном состоянии)
Всего этого вполне достаточно, чтобы реализовать все необходимые операции работы с текстом. В качестве примера, УС+D удаляет текущую строку, а УС+У/К/Е/В прокручивают экран в одном из четырёх направлений.

Как всегда, вот ссылка на онлайн (https://rk86.ru/?file=https://gist.githubusercontent.com/Alikberov/7ff0b6c37bf7bb674b3dc4819658949e/raw/5a35bdabafc60c5b4a97d94b4bbd4f03c40f48e8/rk86-pobedit.json) демонстрацию с кодом для ПЗУ (F000-F7FF) и rkr-файл.

P.S.: За месяц был проделан практически титанический труд по разработке кода с чистого листа.
Потому, основной код перенесён именно в область F000-F7FF, чтобы всегда под рукой иметь инструмент для личных нужд. В частности, для разработок собственных интерпретаторов языков высокого уровня.

P.P.S.: Вопрос к модераторам: Можно ли переименовать тему (на обновлённый заголовок) или проще открыть новую?

Alikberov
04.11.2023, 18:18
Так как версия достаточно стабильная, выложил исходный текст (https://github.com/Alikberov/rk86-utils/blob/master/utils/POBEDITU.ASM) в свой репозиторий.
Буква «U» в данном контексте означает именно версию для ПЗУ F000-F7FF с вызовом директивой «U» Монитора…

Листинг расчитан исключительно для вставки в онлайн-эмулятор и достаточно комментирован.

cy6
04.11.2023, 18:45
ПОБЕДИТ
??


F000-F7FF
Место интересное, но тут же предлагается знакогенератор (загружаемый) хранить.

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

Как в КР-04. На чтение ПЗУ, на запись ОЗУ.

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

Но с другой стороны, ничто не помешает поступить как в КР-04
Там аж три РФки по 2 кбайта, в окне F800h-FFFFh :smile:

В любом случае считаю, что к области программ BIOS и DOS (E000h-FFFFh) лучше относиться аккуратнее.

Alikberov
04.11.2023, 18:57
ПОБЕДИТ - твёрдый сплав (https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%B1%D0%B5%D0%B4%D0%B8%D1%82): Аналогично как «ED.МИКРОН», здесь «POB.EDIT» означает…
Место интересное, но тут же предлагается знакогенератор (загружаемый) хранить.

Как в КР-04. На чтение ПЗУ, на запись ОЗУ.Школьником сталкивался один раз с «КР-04» (A.K.A. «Согдиана-2» (не «Согдиана-1 (http://www.leningrad.su/museum/show_calc.php?n=638&lang=1&test=0)»), так как клавиатура была МС-7007, цвет и игры «Биоритмы» в графике и цвете были с «Бешенными роботами», «Роликами» и «Бомбой» на двух кассетах), потому плохо знаю архитектуру. Но, код редактора разрабатывался исключительно под свой КР-03.

cy6
04.11.2023, 19:28
«POB.EDIT» означает
Инициалы значит.


«КР-04» (A.K.A. «Согдиана-2»
КР-04 (https://zx-pk.ru/threads/23521-elektronika-kr-04.html) это оригинальная разработка, причем тут Согдиана?


не «Согдиана-1»
Судя по фото, это обычный РК.


клавиатура была МС-7007
Да, добротная клавиатура МС-7007, это особенность "КР-".


код редактора разрабатывался исключительно под свой КР-03
Если используются сканкоды, значит с РК он несовместим?
В любом случае, именно его (КР-03) и стоит доработать.

Вы у себя как ПЗУ добавили?

Alikberov
04.11.2023, 20:27
КР-04 (https://zx-pk.ru/threads/23521-elektronika-kr-04.html) это оригинальная разработка, причем тут Согдиана?На самом деле, тут ситуация - чуть ли ни загадочная.
В начале 90-х я мимолётом пересёкся с неким компьютером, который внешне был как «Электроника КР-03»: Железное шасси с открытой печатной платой под клавиатурой МС-7007.
Был там на одной кассете Бейсик с Биоритмами цветной графикой и игра «Взбесившиеся роботы» (конец игры - «Ам-ам, Чав-чав, Вкусно!»)…
На другой кассете были игры «Бомба» (разновидность Арканоида) и «Ролики» (из-за ошибки контрольной суммы она при запуске вывела только цветной одуванчик и вылетела, а перезагружать не стали)…

Именно из переписки с автором темы эмуляции я начал подозревать, что это было - именно КР-04.

Причём, клавиатура МС-7007 там была ещё на экспериментальном уровне (ПЗУ не успели перешить) и игры управлялись не стрелками, а иными клавишами (так как производство МС 7007 налаживали и в моём городе, ИМХО, КР-04 адаптировали под МС 7007 именно в каком-то местном НИИ, как я догадываюсь)…

А сам совладелец РЛК именовал его именно как «Согдиана» …

Возможно, раз была «Согдиана-1», возможно это - и была «Согдиана-2», которую я все эти годы безуспешно искал на просторах интернета, пока не услышал про КР-04, который и графикой, и играми - слишком сильно походит именно на ту "школьную Согдиану"…
(До этого я думал, что та «Согдиана» детства - просто местный «Орион-128» с клавиатурой МС-7007…)

Видимо, как и «ZX-Spectrum - Ленинград», «Согдиана-2» была местным клоном КР-04…

ИМХО, как и Корвет, возможно КР-04 готовился к серийному выпуску для школ под местной маркой «Согдиана-2».
Если используются сканкоды, значит с РК он несовместим?Код редактора совместим для любых РК с оригинальной журнальной схемой с двумя ПЗУ РФ2 или РФ4 под Монитор для адреса F000-FFFF, чтобы директива U переходила в «UnWrap-ПОБЕДИТ».

cy6
04.11.2023, 21:26
ИМХО, как и Корвет, возможно КР-04 готовился к серийному выпуску для школ под местной маркой «Согдиана-2».
Боже, да при чем же еще и Корвет? Корвет, это ПК8002.


для любых РК с оригинальной журнальной схемой с двумя ПЗУ РФ2 или РФ4 под Монитор для адреса F000-FFFF
Нет таких двух РФ в оригинальных схемах, там одна. Откуда Вы все это берете?

Есть одна ПЗУ 2кб и одна ПЗУ знакогенератора, не подключенная к ША и ШД.

Вопрос был, как Вы сами у себя сделали на КР-03?
Как добавили ПЗУ в F000h-F7FFh?

Alikberov
04.11.2023, 21:40
Боже, да при чем же еще и Корвет? Корвет, это ПК8002.Для школ КР-04 подошёл бы идеально!
А в моём городе - именно под ласковой маркой «Согдиана».
Нет таких двух РФ в оригинальных схемах, там одна. Откуда Вы все это берете?Пользователь «Барсик» как-то намекнул, что авторы РАДИО-86РК предусмотрели расширение ПЗУ Монитора и ввели странную директиву U с переходом на F000, но так и не опубликовали про это ничего…

Есть одна ПЗУ 2кб и одна ПЗУ знакогенератора, не подключенная к ША и ШД.Этот КР-03 выполнен по ТУ и у него - две РФ5.

Вопрос был, как Вы сами у себя сделали на КР-03?
Как добавили ПЗУ в F000h-F7FFh?Сейчас только пытаюсь восстановить свой КР-03…
Обрывов - уйма. Но, при должном массаже печатной платы появляется и курсор, и приветствие Монитора.
Слишком сильно фонит сам БП (оригинальная схема из журнала Радио, так как импульсник давным давно вышел из строя).

На данном этапе обнаружил, что там - две РФ5 (Монитор и Знакогенератор) и вместо ИР1 - ТЛ2.
79726
И всего лишь ПЗУ знакогенератора (в КР-03 там вместо РФ1 - РФ5), ножкой 19 перемычкой припаял к ножке 36 ВГ75, чтобы через атрибут инверсии потом посмотреть, что во второй половине знакогенератора РФ5.
Но, из-за сильного фона и запуском БП через раз (даже в холостом режиме), пока только на уровне восстановления БП и топчусь.

cy6
04.11.2023, 21:54
Этот КР-03 выполнен по ТУ и у него - две РФ5.
Что?

На данном этапе обнаружил, что там - две РФ5 (Монитор и Знакогенератор)
Ну и? Смотрите схему, ПЗУ знакогенератора вне адресного пространства процессора.

Куда, по Вашему, пользователь должен редактор прошить?

Alikberov
04.11.2023, 22:01
Ну и? Смотрите схему, ПЗУ знакогенератора вне адресного пространства процессора.

Куда, по Вашему, пользователь должен редактор прошить?Не имею под рукой программатора и подсмотреть ПЗУ Знакогенератора могу лишь на самом КР-03.
Потому и впаял перемычку.79727

cy6
05.11.2023, 00:00
Не имею под рукой программатора и подсмотреть ПЗУ Знакогенератора могу лишь на самом КР-03.
Потому и впаял перемычку.
Вы предлагаете редактор прошить в ПЗУ знакогенератора, и уверены что он заработает?
А может он (редактор) и сам в знакогенератор при этом превратится?

Смотрите, я же пишу выше, что он (ПЗУ знакогенератора) не подключен к шинам адреса и шине данных.

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


из-за сильного фона и запуском БП через раз (даже в холостом режиме), пока только на уровне восстановления БП и топчусь
Зачем тратить время? Возьмите любой рабочий АТХ блок питания. Ну хотя бы на время ремонта.

Alikberov
05.11.2023, 13:05
Вы предлагаете редактор прошить в ПЗУ знакогенератора, и уверены что он заработает?Где я о таком говорил? А, тем более, где предлагал?
Просто, говорю, раз в моём КР-03 ПЗУ Знакогенератора - РФ5 с 2 Кб вместо 1 Кб, очень любопытно, что во второй половине РФ5 прошито. Потому, сигнал инверсии RVV сейчас перемычкой подтянул к A10 РФ5.

А может он (редактор) и сам в знакогенератор при этом превратится?Для номальной работы с текстом желательно иметь набор строчных литер без всяких атрибутов (например так (https://zx-pk.ru/threads/26455-chto-maksimum-mozhno-vyzhat-iz-kr580vg75-intel-8275-obsuzhdenie.html?p=1186570&viewfull=1#post1186570)).

Смотрите, я же пишу выше, что он (ПЗУ знакогенератора) не подключен к шинам адреса и шине данных.С чего происходят предположения, что я код редактора готовлюсь прошивать в знакогенератор?

Зачем тратить время? Возьмите любой рабочий АТХ блок питания. Ну хотя бы на время ремонта.Переходники нужны.

cy6
05.11.2023, 18:45
чего происходят предположения, что я код редактора готовлюсь прошивать в знакогенератор?
Тогда объясните пожалуйста, куда готовитесь его прошивать?


Переходники нужны.
Единственный "переходник" (DC-DC) там с -12 на -5. А также кнопка нужна, для включения.

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

Стабилизатор 7905, конденсатора два (на входе и на выходе). Обошлось установкой керамики на 0.1 мкФ прямо на ноги стабилизатора.

Alikberov
05.11.2023, 20:33
Тогда объясните пожалуйста, куда готовитесь его прошивать?Для начала хорошо бы просто загрузить через аудио директивой I Монитора и оценить производительность.
Да, ещё и со световым пером разобраться.

Alikberov
17.02.2024, 20:30
Оказывается, в случаях с расширенным знакогенератором, где символы 0A и 0D - не просто пустые и имеют какое-то особое графическое представление, весь экран покрывается ими, что практически не допустимо!

Потому, представляю здесь обновлённую версию с подавлением вывода этих символов.
Конкретно в Emu80 конфигурация легко настраивается на проекцию образа ПЗУ редактора в область F000…F7FF.

Запуск редактора - любопытный момент, так как Монитор в редакции эмулятора Emu80 директивой U передаёт управление не на адрес F000, а на адрес E000 с DOS.
Запуск же просто директивой «GF000» - не очень эстетичен и имеет некоторый неприятный побочный эффект…

Однако, сам Монитор (оригинальный/журнальный) его может запустить сам в 90% случаях.
Дело в том, что Монитор принимает директивы лишь из набора букв «CDFGILMORSTUX», а в остальных случаях - переходит на F000 (ячейки F8D9…F8DB содержат код команды «JMP F000»)…
Тем самым, любой непредусмотренный символ («Пробел», цифры, клавиши F1-F5, Esc/АР2, Курсорные стрелки, Home, «Стр» и «ПС» и т.д.) запустит код редактора.
При этом, даже можно указать некоторые параметры, задав стиль:
«P,3C09,3E» (левый край 3C; табуляция 09; правый край 3E)
«P,5B5F,5D» (левый край 5B; табуляция 5F; правый край 5D)


Ниже - образ ПЗУ под Emu80 (конфигурацию легко подправить), а так же скриншот с примером запуска директивой «P» (или «E» / любой другой).