Что за МОНИТОР-3 для СПЕЦИАЛИСТА ?Сообщение от rw6hrm
В журнале МК в публикациях разных ПЗУ для СПЕЦИАЛИСТА термины Монитор-1, М2, М3... в отличие от ОРИОНА, не использованы. Поэтому каждый может понимать это по своему вкусу или по датам опубликования.
Я вообще считаю, что на мониторы C800 могут ориентироваться только программы адаптированные от РК86, ОРИОНА и других ЭВМ, в которых таблица стандартных входов в ПЗУ F800 совместима с РК86. Т.к тогда, благодаря схожести адресов стандартных входов немного упрощается адаптация. А программы самого СПЕЦИАЛИСТА ни в коем случае не должны лазить в ПЗУ C800, т.к полно разных мониторов и нет никакой необходимости во входах на C800, потому что они всё-равно переадресуются в ROM-BIOS С000.
Я понимаю терминологию СПЕЦИАЛИСТА так. Загрузчик C000 - это ROM-BIOS. Волковский монитор для ОЗУ (и производные) это М1. Монитор КООП SP-580 это М2. Орловский монитор (1988) это М3. Чуть исправленный орловский монитор с ПЗУ D000, где КОИ-8, это М4 (04.1989). Доможировский монитор "который открывает окна" это М5. И был опубликован ещё какой-то (кажется Савощенко), это М6.
Текстовому редактору должно быть всё-равно, КОИ-7 или КОИ-8, т.к текстовый редактор должен работать через стандартные входы ROM-BIOS. Поэтому текстовому редактору вообще нет дела до монитора. Это же не ОРИОН, где словом монитор ошибочно называют ROM-BIOS и орионовские М1 и М2 несовместимы. Текстовому редактору надо знать только число символов в экране, т.е ширина экрана в символах. При шрифте 8*10 это 48, а при шрифте 6*10 это 64. В ленинградском мониторе есть такая ячейка, которую и использует редактор.
Для СПЕЦИАЛИСТА можно адаптировать любые текстовые редакторы РК86, ОРИОНА и МИКРО-80. Тут только 2 проблемы. Это различие в методе хранения координат POSX, POSY и отсутствие в СПЕЦИАЛИСТЕ клавиши <Control>, которая сама кода не генерирует, но отнимает от кодов символьных клавиш число 40H, отчего коды оказываются менее 20H, что и позволяет их использовать как управляющие.
Отсутствие клавиши <Control> это существенный недостаток, т.к полноценно заменить контрол-коды нечем. А АР2-последовательностей не хватает, да и они неудобны. Некоторые люди, использующие CP/M, где клавиша <Control> просто необходима, подключали доп.клавишу на вход чтения с магнитофона, чтобы хоть как-то выкрутиться. Пересчёт координат это меньшая проблема.
Я имел дело только с двумя чужими текстовыми редакторами. Первая, - это адаптация убогого журнального текстового редактора МИКРОН для РК86, что вообще в силу своей убогости не имеет прав на существование. И редактор SCREEN В.Ивинских с тем же объёмом кода всего в 2 кб, что как редактор лучше (но тоже не имеет работы с блоками). Надеюсь, что после 1990 появились новые текстовые редакторы СПЕЦИАЛИСТА.
Но у меня их нет, так что стоит рассматривать только адаптацию текстовых редакторов от РК86 и ОРИОНА. У меня есть исходники двух редакторов, SCREEN и моего редактора для ОРИОНА и РК86 (4 кб, но для СПЕЦИАЛИСТА его надо адаптировать).
При адаптации редакторов от РК86, надо адаптировать отличие в методе хранения координат и добавить скоростные ролики вверх-вниз стеком, иначе текстовые редакторы на графической ЭВМ очень тормознуты. Ролик вверх имеется в любом ROM-BIOS (происходит по ВК на последней строке), а вот для ролика экрана вниз, драйвер консоли должен иметь функцию вставки строки со сдвижкой нижележащих строк вниз. К сожалению такого искейп-кода в BIOS нет, оттого и невозможно сделать корректный текстовый редактор, т.е универсальный, легко меж-платформенно переносимый. Потому приходится встраивать в редакторы ОРИОНА и СПЕЦИАЛИСТА прямую работу с экраном.
На отечественных 8-ми разрядках используются бейсики производные от МИКРО-80, который сам происходит от какого-то иностранного бейсика. Особенность этого бейсика заключается в использовании для сокращения кода, команд RST (эта мода была введена в TINY BASIC-ах из 1976 года и позднее распространилась на более продвинутые бейсики). Поэтому, тут без переделки ничего нельзя сделать, бейсик из верхнего ПЗУ (чтобы освободить ОЗУ для текста бейсик-программ) работать не может, он должен размещаться с адреса 0. Поэтому в верхнем ПЗУ бейсики можно только хранить.Сообщение от rw6hrm
Но я имел дело только с журнальным бейсиком, хотя слышал, что есть много бейсиков для СПЕЦИАЛИСТА, вдруг там есть и бейсик без RST. Тогда несложно его перетранслировать для верхнего ПЗУ. Но и бейсики с RST можно перетранслировать для верхних адресов и сделать код для работы в ПЗУ, хотя объём кода немного возрастёт.
А поддержка файлов, вообще всяких, возможна только если есть ДОС.
Кроме RAMDOS СПЕЦИАЛИСТА на базе платы внешнего эл.диска В.Ивинских (не путать с RAMDOS РК86 Лукьяненко, что вообще чушь) и ДОС CP/M, не слышал о других ДОС для СПЕЦИАЛИСТА. Проблема в отсутствии носителя. Если есть носитель (дискета, винт или эл.диск), удобна RK-DOS Е.Седова (4 кб) или "Хамелеон-ДОС" А.Мамонтова (2 кб) и несколько ДОС большего объёма (~10К). Если для базового СПЕЦИАЛИСТА есть ДОС (любая, с любым типом носителя), то несложно конвертировать текстовый редактор от других ЭВМ.
RK-DOS оптимальна потому что для дискеты ей хватает CPU с тактом всего в 1.2 МГЦ, тогда как для КНГМД на ВГ93 даже с ухищрениями надо иметь минимум 2.25 МГЦ, а без аппаратных ухищрений - 2.5 МГЦ. На прошлой неделе я вновь занялся РК-ДОС для КР580 и эл.диска и встроил в него несколько внешних команд (удаление и переименование), чтобы избавиться от необходимости иметь кучу системных файлов на всех дисках (что неудобно и плохо для маленьких по объёму приводов). Только для эл.диска уместилось в 4 кб, а с добавкой дискетного привода (как диск B) - 5.5 кб.
Как вариант носителя можно использовать несколько статических ОЗУ в виде простейшего RAM-диска с интерфейсом через ППА.
Без ДОС база данных невозможна, а ДОС невозможна без носителя. В качестве носителя можно использовать 'micro-SD'. Если не цепляться за формат FAT16, то ДОС для поддержки будет проста и легко адаптируется любая ДОС, нужны только две подпрограммы чтение/запись сектора в 256/512 байт. Более, чем дискета перспективен в качестве носителя старый винчестер. И опять-таки, если не цепляться за FAT16/FAT32, то его встраивание в любую ДОС намного проще.Сообщение от rw6hrm
Сохранение формата FAT16 удобно, чтобы иметь простой обмен с IBM PC, но например, у меня нет ДОС с поддержкой формата FAT16. Поэтому вместо обмена данными путём перестановки носителя на PC, использую медленный обмен по проводной линии со скоростью 1 кб в секунду.