Справочник по системным программам для компьютера ZX Spectrum 128к 1969 г.

Описание 12 - текстовой процессор TLW2B.


13. ТЕКСТОВОЙ ПРОЦЕССОР TLW2B

Внимание!

Инструкция первой версии программы "THE LAST WORLD" (TLW) может использоваться и
для второй версии совместно с "дополнением ко второй версии".

1. Общее описание

TLW - это программа-редактор текстов для компьютера ZX SPECTRUM и "SPECTRUM плюс"
обеспечивает пользователя широкими возможностями обработки текстов и позволяет
получить результаты, удовлетворяющие лучшим профессиональным стандартам
Программа состоит из области в машинных кодах и доступной пользователю области
Бейсика TLW содержит генератор символов фирмы MIRMIDON SOFTWARE и позволяет
выводить на экран строки в стандартах 80, 60, 48 и 40 знаков

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

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

Текст программы разделен на две основные части. Это небольшой Бейсиковый раздел,
предназначенный для снижения верхней границы операционной системы компьютера для
загрузки основного блока в машинных кодах в верхнюю часть памяти, а также 14,5
килобайтный основной блок в Z80, который непосредственно выполняет необходимые
расчеты. Текст или данные, расположенные в "собственной" Бейсик-области компьютера
могут вызываться из TLW разными способами. Пользователь может записать в
"предназначенной для пользователя Бейсик-области" такие строки, чтобы машинокодовая
часть программы обращалась к Бейсику при выводе на печать по мере необходимости. Это
выполняется введением специальных операторов в текстовый файл (№ основньчасти
TLW тесно взаимосвязаны, чтобы дать возможность пользователю со слабым знанием
Бейсика достичь широкого применения программы в разных ее режимах

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

2. Экран TLW

Экран SPECTRUM ZX содержит 256 точек в ширину и 192 по высоте. В TLW все строки
содержат по высоте8 точек, так что экран содержит 24 строки. Генератор символов позволяет
печатать символы 6, 5, 4 и 3 точки, что дает 42, 51, 64 или 85 символов в строке.

Операционная системаТ1_№ выделяет верхние три строки экрана для заголовка ("HEADER"),
где отображается 18 единиц информации о текущем состоянии программы, текстового
файла и положении курсора. Нижние 20 строк предназначены для изображения
обрабатываемой страницы текстового файла. Запись начинается слегка отступая от левой
части страницы, что позволяет "оконтурить" текст, если потребуется. Правое поле страницы
используется для изображения некоторых специальных пометок, дающих информацию о
статусе каждой строки текста, реальной шири не строки, на которой текст может быть набран
(40, 48, 60 или 80 символов в зависимости от выбранного режима). Рассматривайте эту
страницу просто как "необработанное" изображение куска текстового файла, поскольку это
просто список символов и цифр не соответсвует реально видимому написанию страницы.
Разбивка экрана, которую вы задали, абсолютно не влияет на содержимое файла - это
просто способ отображении не сзязрннчй г тт ч^к ??а.пьч? ссЬсэииосзс^ тзчст, как он
хранится в памяти и как он печатается на Cvvarc.

Конец строки

Когда строка текста длиннее, чем строка экрана, текст будет продолжать изображаться на
другой экранной строке без перерыва до тех пор, пока не будет достигнут управляющий
маркер "конец строки" или "конец файла". Например, 84-х символьная строка занимает одну
полную экранную строку (в режи ме 80) и еще четыре позици и следующей видеостроки, или
одну строку плюс 24 позиции (в режиме 60) и т.п. Экранная строка, на которой должна
кончаться текстовая строка, отмечается маркером на правом поле страницы, если этот
символ не отключен.

Курсор

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

Изображение команд

Некоторые команды требуют серии последовательных вводов. В этом случае TLW
"вытягивает" кусок чистой страницы, а текст сдвигается вниз. Команда набирается на этой
странице и вводится в нее, а текст возвращается на прежнее место скроллингом двадцати <
строк вверх, если он остается без изменения или полным его переписыванием, если
изменения внутри произошли. Здесь нет различных меню, все выполняется на одной
странице.

Белым по черному

Вы можете менять цвет бордюра или хэдера, присваивая им номера одного из цветов от
21 до 7, но можете присвоить бордюру 0, что даст белый цвет на черном фоне. Телевизионный
экран - не самый удобный дисплей для работы с 80-ю знаками в строке. Качество настройки
телевизора очень сильно влияет на разборчивость текста.

3. Текстовый файл.

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

Формат текстового файла

Весь текст, который вводится в файл и то, как он формируется, жестко определяется
правым и левым полем, а также включением и выключением режимов W.WRAP/W.SPLIT и
JUSTIFY / RAGGED.

Управляющий маркер конца строки

Каждая набираемая строка по достижении конца приобретает специальный управляю-
щий байт, который информирует TLW о том, когда начинать новую строку при печати на
экране или на принтере. При оформлении текста он работает как флаг. Он может быть двух
типов:

3.1. Байт, отображаемый стрелкой, обращенной вниз и влево. Он расположен на правом
поле и указывает на то, что вы достигли и перешли на правое поле на другую строку, код

„ASCII -14. Этот маркер вводится программой TLW автоматически, когда при наборе новой
программы текст переходит границу предварительно установленного правого поля.
Пользователь впечатать его не может.

3.2. Байт, изображаемый обращенной буквой "S" на полях, действует как конец параграфа
(абзаца), его код - 13 (ASCII), что соответствует возврату каретки. Введен он может быть
только оператором [Enter] при создан и и нового текста. Строка может быть пустой и содержать
только этот маркер, тогда номер колонки будет равен нулю, и впоследствии можно расширить
строку вставкой с помощью оператора INSERT.

Разрешенные движения курсора

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

Положение курсора в файле

Отсчет номера строки и колонки в левом прямоугольнике хэдера относится к номеру
строки и колонки в тестовом файле, а не к номеру строки и колонки видимой видеостраницы,
если они по чистой случайности не совпадают.

Размеры текстового файла

Вершина возможного пространства текстового файла всегда на один байт ниже адреса
нижней границы машиннокодовой части, т.е. 50999. Нижняя часть файла находится в
изначально установленном адресе в памяти SPECTRUM - 30000 (таким образом текстовый
файл имеет размер 20,5К). Нижняя граница может быть переустановлена пользователем с
помощью оператора CLEAR. Так CLEAR 49975 дает файл размером 1К, т.е. 1024Б, а область
Бейсика при этом составляет примерно25,5К. Максимальный размер пространства, который
можно занять под текстовый файл в SPECTRUM на 48К при придельном сжатии Бейсика
составляет 25К. Для примера, текст данной инструкции был разбит на восемь файлов
общим объемом 122К. Хэдер изображает текущее свободное простанство текстового файла
в целых единицах килобайт. Когда пространство меньше 1К, то число выводится в восьмых
долях килобайта, так 3" означает, что свободных 3* 128 байт.

Изменение размера файлов

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

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

4. Начало работы

Загрузка TLW

Включите SPECTRUM и загрузите программу с кассеты, набрав LOAD ""и [Enter] и включив
магнитофон или с микродрайва. Вставьте картридж в драйв 1, нажмите [Р] и [Enter]
Сначала загрузите бейсиковый раздел, затем раздел в машинных кодах. Когда загрузка
закончится, мигающая строка LOADING CODE заменится вопросом INITIALISE PRINTER? Y
Это начальное состояние TLW, записанное в бейсиковой строке 2030 и соответствует ZX-
LPRINTIII интерфейсу. Если интерфейс другой, то эту строку необходимо изменить Далее
компьютер переходит непосредственно к операционной страницеНУУ и показывает данные
загруженной версии TLW Дальнейшее нажатие клавиш очистит экран, и редактор готов к
работе

Разбивка текста

Первоначально программа установлена на 40 знаков в строке Первое поле тоже установлено
наэтот формат Если его необходимо изменить, то наберите любую строку текста и проверьте
ее изображение на экране. Когда вы дойдете до правого поля, то продолжайте набор и
слова будут автоматически выровнены по правому полю - JUSTIFY Возможно изменить
формат экрана.

- нажмите обе [Shift] клавиши, в хэдере изменится мода WRITE на моду

COMAND,

- нажмите [Symbol Shift] и [V] и в хэдере появится слово "VIDEO",

- наберите 48,60, или 80 для установки количества символов в строке

вместо первоначальных 40,

- нажмите [Enter] и текст будет переписан в соответствии с выбранным
форматом строки.

Чем мельче шрифт, тем важнее качество настройки телевизора 60 знаков в строке чита-
ются без особых проблем, а на хорошем экране можно работать и с 80 знаками Однако, в
этом режиме буквы набегают друг на друга, поэтому может быть лучше работать на одном
из более низких режимов, а с моду 80 переходить только для окончательного взгляда на

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

Клавиша lEntar]

Хотя большинство клавиш при нажатии вызывают вполне очевидные результаты, [Enter]
имеет специальное значение и пользоваться ею надо аккуратно. При наборе текста курсор
идет впереди набираемой строки. Нажатие клавиши [Enter] в этот момент приводит к вводу
байта "возврат каретки", т.е. конец абзаца, а курсор перемещается к левому полю следую-
щей строки. Такой маркер "конец абзаца" очень важен для последу ющей работы программы
с файлом и не может быть устранен обычным путем с помощью DELETE. Он будет там до
тех пор, пока часть файла, содержащая его, не будет стерта более мощной командой,
см.6.2.3 и 6.2.4.

Если вы находитесь "внутри файла, то есть текст уже написан, то нажатие [Enter]
приведет к простому перемещению курсора на одну строку вниз, но не изменит никакого
текста, который там уже есть.

Функция "TAB" ([Caps Shift] и [1]) передвигает курсор сначала к левому полю, если оно
меньше, чем величина "ТАБ", а затем вправо на величину "ТАБ". При вводе нового текста
"ТАБ" образует пробелы, а в уже существующем тексте "ТАБ" просто перемещает курсор на
заданное число позиций вправо.

Текст, который вводится, формируется по 40 знаков в строке от 1 до 40 колонки - это
результат работы полей. Величина их изначальной установки приведена в хэдере, чтобы ее
изменить, перейдите в командную моду, как это делалось при изменении ширины
видеостроки и нажмите [М] для левого поля или [Caps Shift] и [М] для правого. Правое поле
можно увеличить до величины, на единицу большей, чем размер левого поля. Левое поле
- от 1 до величины правого поля минус 1. На экране ничего не изменится, кроме надписи в
хэдере, но весь новый вводимый текст будет подчиняться этим новым полям.

Маркеры конца строки и абзаца

Правое поле содержит специальные отметки в тех местах, где кончается строка. Это или
наклонная стрелка или "S". Это визуальное отображение того, KaKTLW делит текст для того,
чтобы вписать его в заданные поля. Они только служат для удобства компановки, и при
печати на бумаге, конечно, не воспроизводятся.

Переформатирование абзаца

С помощью курсора вверх ([Caps Phift] и [7]) перейдите к верхней строке страницы,
войдите еще раз в командный режим и нажмите [Caps Phift] и [R] - это мощная команда
"РЕФОРМ". Команда очистит экран от строки, в которой стоит курсор до ближайшего "конца
абзаца" и перепишет текст в соответствии с новыми введенными значениями полей.
Измените поля еще раз, добавьте несколько пробелов и еще раз выполните команду
"РЕФОРМ". Вы увидите, как аккуратно запись будет переписана для новых условий.

Буфер клавиатуры

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

Пример:

Письмо записано на кассете под именем "LETTER" После прочитания очередной главы,
посвященной записи и загрузке, можете очистить текстовый файл (командная мода [Sym-
bol Shift] и [Z]), загрузить файл "LETTER" и попробовать разные режимы работы с

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

Первые итоги

Перед началом выберите режим работы с текстом:

• JUSTIFY - [J] - выравнивание текста по правому краю,

- RAGGED - текст не обрабатывается (как режим работы на пишущей машинке).

Поработайте с клавиатурой, добейтесь уверенности в работе

"Персоналиэация" программы

Когда убедитесь в том, что TLW ведет себя на экране в соответствии с ожиданиями,
потратьте некоторое время на изучение управляющих операторов в главе 8 и инструкции по
интерфейсам принтеров в приложении 3. Настройте программу, чтобы она работала так, как
необходимо, затем, следуя указаниям приложения UUU, сделайте для себя персональную
копию программы.

5. Запись и считывание текста

Когда уже набран текст и треуется постоянная копия или записан какой-то текст и
требуется ввести его в компьютер, то необходим магнитофон или микродрайв для ввода и
вывода. Для этих целей в TLW имеется две простых процедуры, каждая из которых
применима к обоим типам устройств.

Запись текста

Вызов процедуры: режим Е и [S]. После этого имеется три выбора: задать компьютеру
номера первой и последней строк (включительно) того куска текста, который необходимо
записать, выбрать тип устройства - магнитофон или микродрайв и выбрать имя файла, под
которым эта запись будет храниться.

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

2. Выбор между микродрайвом и магнитофоном достаточно прост. Если имеется один
или несколько микродрайвов, то это простой и удобный путь. Программа сама запросит
ввод от 0 до 8. Есл и 0, то это означает запись на магнитофон, а от 1 до 8 соответствует номеру
задействованного микродрайва.

3. Имя файла - любая комбинация длиной до 10 букв, но первый Символ - обязательно
буква, а не пробел. Наберите имя. При необходимости пользуйтесь DELETE для устранения
ошибок. Если введено более чем 10 букв, то текст сдвинется влево и первая буква пропадет

Нажмите [Enter], чтобы привести в действие процедуру записи Если выбран магнитофон,
то программа предложит включить и нажать любую клавишу и после этого на экране
появятся обычные красные и голубые полосы TLW не делает паузы между хэдером и
главной частью, а ведет запись в обычном формате в кодах, которые могут быть загружены
в любую другую программу, воспринимающую коды.

Если выбран микродрайв, то выбранное устройство включится и начнет поиск, является
ли для него этот файл новым или такое имя уже есть на картридже. Если оно уже есть, то
компьютер выдаст сообщение: "FOUND! NEW?[Y]", - и даст возможность выбора записать
файл или отменить команду. [Y] - запись текста, [Enter] - отмена записи и возврат к
текстовому файлу. Выбор "стереть" исполняется так: режим Е, затем клавиша [Е]. Результат
тот же самый, но сам процесс длиннее, т.к. надо нажимать больше клавиш.

Запись текста на ленту не уничтожает файл, а просто копирует выбранный кусок на
указанное устройство.

Считывание текста

Вызывается режим Е, затем нажимается клавиша [L]. Процесс считывания текста похож
на процедуру записи, но не надо указывать количество материала. Необходимо только два
ввода - указание на магнитофон или микродрайв и имя файла.

То, что вводится в текстовый файл, добавляется к тому, что там уже есть, то есть новый
материал записывается в память, начиная с адреса на единицу большего, чем верхний
адрес содержимого. В этом случае системная переменная TLW "конец файла" соответству-
ющим образом изменяется. Это означает, что можно смешивать любые записанные на
внешнем носителе файлы последовательной загрузкой. Можно также вставить новый блок
в середину текстового файла, что выполняется оператором INSERT, при этом верхняя часть
содержащегося файла "прячется" в компьютер, затем загружается серединка, а затем
возвращается верхний блок.

На ленте байты хранятся как коды, а на картридже микродрайва в формате данных.

1. Для выбора ленты вводится 0, а для выбора микродрайва - номер, соответствующий
номеру устройства от 1 до 8.

2. Необходимо точно знать имя файла, который необходимо ввести и набрать его точно
так, как оно было записано. Любые отклонения не дадут результата. В конце работы
нажмите [Enter] - для магнитофона появится надпись ТАРЕ ON/KEY, а микродрайв вклю-
чится для поиска указанного имени.

Для ленты все названия, проходящие мимо головки, будут изображаться как SEEN:
FILENAME..., то, которое нужно, будет идентифицировано. Для микродрайва файл будет
загружен сразу после того, как будет найден. Если его нет в картридже, то появится надпись
ABSENT!, для ленты отсутствие имени ничего не покажет.

Возможно загружать в TLW текстовые файлы или файлы данных иной природы, чем
TLW. Но они должны иметь ту же организацию маркеров конца строки и конца абзаца, что
и в TLW. В противном случае они будут выглядеть как бесконечная строка, не разделяемая
на отдельные строки как для экрана, так и для принтера. Для переработки таких файлов на
кассете TLW имеется служебная программа TLW64 BASIC - сведения по ее применению
приведены в приложении.

6. Команды.

Для ввода команд в TLW существует два главных приема. Для первой группы широко
используемых команд применяется одно нажатие клавиши [Caps Shift] для того, чтобы не
прерывать процесс печати. Для второй группы команд обычно требуется добавление каких-
либо деталей к первоначально введенной команде, поэтому для этой группы необходимо
перевести хэдер в командный режим.

В большинстве случаев длительное нажатие командной клавиши вызывает многократное
повторение команды до тех пор, пока клавиша не будет отпущена.

Оба способа ввода команд будем называть далее прямым и непрямым вводом.

Прямой ввод команды:

[Caps Shift] и клавиша или [Symbol Shift] и клавиша.

Непрямой ввод команды требует перехода в командную моду - обе клавиши [Shift] вместе,
а затем:

просто клавишу или [Caps Shift] и клавиша.

Команды разделены на пять главных групп:

1. Команды курсору.

2. Программы обработки текста.

3. Структурные команды и утилиты устанавливают правила построения
текстового файла.

4. Команды принтеру.

5. Команды ввода-вывода.

Перемещение курсора:

- вправо на одну позицию [Caps Shift] и [8],

- влево на одну позицию [Caps Shift] и [5].

- вверх на одну строку [Caps Shift] и [7],

- вниз на одну строку [Caps Shift] и [6],

- табуляция вправо [Caps Shift] и [1] - курсор перемещается

вправо на величину значения тАБ или до лево-
го поля, если оно ближе,

- вправо на одно слово [Caps Shift] и [4],

- влево на одно слово [Caps Shift] и [3],

- вправо на одно предложение - режим E[W], курсор двигается до первой

точки и затем устанавливается около
следующей позиции.

- вправо до конца строки режим Е [8],

- влево до конца строки режим Е [5],

- к началу первой строки режим Е [7],

- к началу последней строки - режим Е [6],

- вниз к началу первой строки последней страницы - режим Е [D],

- вверх к началу предыдущей страницы с одной
строкой для связки - /режим Е/ [U],

- к началу текстового файла - режим Е [А],

- к концу текстового файла - режим Е [Z],

- к заданной строке - режим Е [N], запрашивается номер строки

и вводится INPUtom,

- передвинуть экран вверх на одну строку - режим [Caps Shift] и [3]
• передвинуть экран вниз на одну строку - Е [Caps Shift] и [4].

Обработка текста:

- стирание символа [Caps Shift] и [Q], стирается символ или

оператор управления печатью,

- стереть текст до конца строки - [Caps Shift] и [G], команда требует нажатия

[Y] для подтверждения или для отбоя.

- стереть весь текст режим Е [Z],

- переключатель INSERT/OVERWRITE (вставить/переписать) - режим Е [1].

В режиме OVERWRITE, когда вводится новый текст, курсор находится на верхней границе
файла и файл постепенно расширяется. Если курсор находится внутри файла, то идет его
"переписывание".

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

Курсор устанавливается в начале освободившегося пространства и можно начать ввод
нового текста или вернуть курсор назад в оставшуюся часть файла для работы с ним

Файл ведет себя так, как будто оставшийся кусок является цельным и полным, т е все
вводимые команды распространяются только на него и не касаются "спрятанного" куска

Команды CLEAR и OLD его не затрагивают. Можно "спрятать" весь текст и работать с другим,
введенным с клавиатуры, ленты и т.п.

При повторном вызове этой команды включается режим О/WRITE и "спрятанный" текст
возвращается и добавляется к имеющемуся на экране. Курсор может быть где угодно, и
полученный текст можно переформатировать командой REFORM для изменения
нестандартных строк, полученных в результате вставки.

- сдвинуть текст влево - режим Е [Q], Текст между началом строки и курсором сдвигается
влево за счет уменьшения ширины пробелов.

- сдвинуть текст вправо - режим Е [Е], Текст между курсором и концом строки смещается
вправо за счет уменьшения пробелов. Эта команда не срабатывает, если промежутки
между словами имеют минимальный зазор, равный единичному пробелу или, если будет
достигнут конец файла до того, как обнаружится пробел.

• центрировать текст в строке - режим Е [Н],

- выровнять (JUSTIFY) строку - режим Е [J], Если справа нет маркера "конец строки', т.е.
файл закончен, то эта команда не срабатывает.

- ограничить пробелы в строке - режим Е [L], Пробелы уменьшаются до единичных. Если
справа нет маркера "конец строки", эта команда не срабатывает, как и выше.

- переформатирование (REFORM) текст от курсора до "конца абзаца" - режим Е [R],

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

- вставить оператор управления печатью- режим Е [I], По этой команде запрашивается
INPUT для определения требуемого оператора. В результате байт, представляющий этот
оператор, вставляется в текст слева от позиции курсора, а метка, определяющая его,
отображается в хэдере Этот INPUT может быть одним из:

1. Число от 1 до 24, связанное с соответствующим кодом принтера, предназначенное для
управления принтером во время печати.

2. Число от 90 до 99, указывающее на строку в Бейсике, которую нужно напечатать (строка
определяется как 100, умноженное на это число, т.е. от 9000 до 9900).

3. Буква от А до Z со знаком $, когда требуется напечатать избранный бейсиковый стринг.
Переключатель РСТ должен быть включен и, конечно, операторы управления принтером на
печать не выводятся.

- ввод символа [С] в кружочке (COPYWRITE) - режим Е [К], Синклеровский знак
"COPYWRITE", CHR(127), вводится по этой команде в файл. Имейте ввиду, что этот символ
не стандартизирован и на принтере его может не быть.

- повтор части текста • режим Е [R], запрашивается INPUT для введения первой и
последней строки потребного части.

- ликвидация части текста - режим Е [К], INPUT вводятся номера первой и последней
строк

- поиск или изменение некоторого части текста - режим Е [X],

Вводятся INPUT номера первой и последней строк, внутри которых производится поиск.
Затем вводится стринг, подлежащий замене, а затем либо заменяющий стринг, либо

просто [Enter], если замена не нужна. Программа ищет и изображает номера строк и колонок
для найденных позиций. Каждый раз можно производить замену клавишей [S], a [Enter] -
оставит без замены, продолжить поиск - [F],

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

Структурные команды и утилиты.

Переключатель "JUSTIFY/RAGGED" - режим E[J]

Команда переключает два режима. В первом - концы строк по правому полю автоматически
выравниваются по окончании текущей строки, когда появится "полосатый курсор", а также
после команды REFORM. При включении режима "RAGGED" текст уплотняется и правый
край остается неровным.

Переключатель W.WRAP/W.SPLIT (округление слов/перенос слов) - режим Е [W].

Команда практически аналогична предыдущей. Она работает при создании текста или
при выполнении команды REFORM. Когда включен режим WRAP, слова не делятся и не
переносятся в конце строки. В режиме SPLIT текст режется на куски заданными значениями
полей, этот процесс необратим, когда включен режим SPLIT. В этом режиме в окне
JUSTIFY/RAGGED загорается стрелка, индицирующая невозможность работы этих режимов.
Эти режимы будут работать нормально после команды REFORM.

- Установка регистра букв на одну строку - режим Е [2]

Вся строка будет печататься печатными или строчными буквами.

- Включение в текст бейсикового стринга - режим Е [4]

Запрашивается INPUT для задания стринга из области Бейсика, т.е. имя от А до Я.
Изображаются первые восемь символов стринга с последующим знаком # и указанием
длины стринга. Стринги должны быть "простыми" и должны браться целиком. В программу
модно вводить все байты между 22151, т.е. весь спектр ASCII плюс 24 оператора управления
принтером, но не стринги, вызываемые процедурой ввода операторов управления печатью
РСТ от А до Я и не строки от 9000 до 9900. Результат можно включить в файл - [U], сбросить
и повторить команду - [N], выполнить команду и выйти из нее - [О].

- вкл./выкл. контурной линии - режим Е [С]

- вкл./выкл. видеомаркеров - режим Е [W]

Когда режим включен, то в хэдере, рядом со значением ширины страницы "VIDEO"
изображается маркер "конец абзаца".

Переключатель регистра верхний/нижний - [Caps Shift] и [2]

- Изменение размера левого поля - режим Е [М]

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

- Изменение размера правого поля - режим Е [Caps Shift] [V]

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

- Изменение разбивки экрана - режим Е [Caps Shift] [V]

Запрашивается число 40, 48, 60 или 80 знаков в строке. Экран трансформируется в
соответствии с новой длиной строки.

- Установка величины табуляции - режим Е [Caps Shift] [Т]

TAB может меняться от 1 до значения правого поля минус 1, но не более 80.

- Установка цвета бордюра - режим Е [Т] [Caps Shift] [В]

Цвет бордюра может быть одним из "спектрумовских" цветов от 1 до 7, независимо от
цвета страниц и хэдера. Если задать 0, то будут белые символы на черном фоне.

- Изменение цвета хэдера (от 1 до 7) - [Е] [Caps Shift] [Н]

- Счетчик слов - [Е] [Caps Shift] [W]

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

- Работа калькулятора - [Е] [Caps Shift] [С]

Страницы текста убирается вниз, чтобы можно было записать выражения длиной до 40
символов, после чего самый левый символ исчезает. Выражения должны быть законченным и
математически, хотя знак "=" не требуется. Так выражение "3*128" являются законченным
вводом. Пробелы не требуются. Стринговые выражения могут быть "урезанными", т.е. если
$ равен "12345678й, то выражение VALA$ (2Т05)будет понято как 2345 и т.д.

После нажатия [Enter] автоматически будет выполнен расчет до получения чистого ответа,
а если это невозможно, то загорится вопрос WHAT? и неправильное выражение будет на
экране до определения ошибки до тех п'ор, пока не будет нажата любая клавиша, после чего
произойдет очистка.

После этого предоставляется выбор сохранить этот результат в одном из десяти регистров
памяти нажатием клавиши отМО до М9. Он сохраняется как обычная бейсиковая переменная
и доступен для калькулятора, когда это необходимо. Нажатие любой другой клавиши
приводит к следующей стадии, когда можно использовать полученный результат - [U]
(включить его в текстовый файл), отбросить его и повторить команду - [N] или вернуться в
режим ввода текста - [Q]. При написании математических выражений клавиатура
модифицируется таким образом, что имеется возможность использовать большинство
"синклеровских" логических и математических функций.

С-символьный

К-командный

С-символьный

К-командный

Установка времени • режим £ [X ]

В TLW имеются часы со встроенным таймером (будильником). Таймер может быть
установлен на вре'мя от 0 до 250 минут (по умолчанию 30 минут). Если установлено 0, то
таймер выключен. Таймер предназначен для регулярности сброса введенного текста на
ленту. Отключается звуковой сигнал - [Т] Возврат к вводу текста - [Q]

Отбой введенной команды - режим £ [fl ]

Возврат к Бейсику - режим £ [Д1

Печать

Управление печатью - режим £ [g 1

Это не только команда, сколько программа для управления процессом печати. Загорается
меню, изображающее состояние канала принтера. Если требуется пересмотреть какие-либо
исходные данные, нажмите [R]. В каждой позиции нажатие [ЕгИег]приводит к перемещению
курсора без внесения изменений.

1. LINE PRINTER - «переключается на ZX PRINTER при нажатии [R].

Когда стоит "LINE PRINTER", запрашивается ввод адреса возврата. Введите 0, если
используется интерфейс без обратного возвращения после инициализации или обычный
адрес для интерфейса, который имеет блок памяти и которому нужно, обращение
RANDOMIZE USR из памяти Бейсика для его использования.

ZX-PRINTER всегда использует резидентный генератор из TLW для печати 40,48,60 и 80
символов в строке в соответствии с тем, какой режим выбран.

2. Байт, который использует LINE PRINTER для возврата каретки Обычно • 13, но надо
уточнить по руководству к принтеру.

3. Байт, необходимый для перевода строки. Он может быть необходим отдельно от
"возврата каретки". Если не нужен • введите 0.

4. Все четыре байта каждого оператора управления принтером. Они вводятся
автоматически вводом специального числа- "префикса". Он сообщает интерфейсу принтера,
что сейчас должна пройти группа управляющих байтов.

Отсюда можно перейти прямо к меню печати - [Р], к корректировке - [R] или к тексту - [О].

Печать текста - режим £ [£ ]

Выводится меню, на котором изображены

- номера первой и последней строки,

- установленное количество копий и ширина интервала,

- состояние РСТ (операторов управления печатью).

Для изменения - [R], для выполнения печати - [Р], для возврата к тексту - [Q]. За вводом
[Р] каждая копия печатается по команде [Enter], хотя нажатие [Q] позволяет выйти из этого
меню и перейти к тексту, нажатие [Q] во время работы принтера прерывает печать и
переводит к началу новой копии.

Оператор BREAK переводит в Бейсик.

Файл РСТ (файл операторов управления принтером) - режим £ [J ]

Все 24 оператора управления принтером полностью дезассемблированы вместе со своими
метками и копией стандартного префикса. Можно ввести по INPUT любое число от 1 до 24
для движения курсора по меткам и байтам или вернуться к текстовому файлу - [Q]. Когда
курсор стоит на месте, метку можно переопределить, записав новую в хэдер и нажав [Enter].
Все рабочие файлы РСТ изменяются аналогично на значение от 0 до 254. Ввод 255 при
печати игнорируется и означает пробел.

Хранение файлов и вызов их.

Запись текста на внешний носитель - режим £ [£ ]

Запрашиваются номера первой и последней строк текста, а также число.

- О для ленты или от 1 до 8 для микродрайва. Ввод завышенного значения номера
последней строки всегда приводит к установлению значения действительного конца
файла. Ввод "1м и "9999" приводит к записи большинства файлов полностью. Если
необходимо знать точное значение номера последней строки файла, то можно
воспользоваться первой частью команды вывода на печать.

Если файл данного имени уже существует на картридже микродрайва, то появится
сообщение FOUND: NEW? [Y]. Ответ [Y] - произойдет стирание второго файла и запись
нового. Просто [Enter] • возврат к текстовому файлу.

Запись в микродрайве идет в формате данных, а на ленту - в кодах.

Загрузить текст - режим £ [L ]

Текст, загружаемый в TLW, не переписывает то, что уже содержится там, а добавляется,
начиная с "конца файла". В пустой файл загрузка идет в самую нижнюю часть памяти.

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

После команды LOAD INPUT вводится номер носителя - 0 для ленты и от 1 до 8 для
микродрайва и имя, которое надо найти При работе с магнитофона имена читаются и
записываются на экране, пока не найдется искомое, тогда начинается загрузка.

При работе с микродрайва, если искомое имя отсутствует, то появится обычное бейсиковое
выражение "FILE NOT FOUND", но при этом все "хорошие" 5126 сектора до "испорченного"
загрузятся в TLW Если файл на картридже слишком велик, то загрузится сколько возможно,
а потом появится сообщение SPACE - т е от дальнейшего ввода отказывается

С ленты воспринимаются байты в форматах кодов, а с микродрайва - в формате данных
Если текст записан в кодах на микродрайве, то перепишитеего на ленту обычным способом
и загрузите с ленты (см приложение 4 и "TLW 64 BASIC")

Раскаталогизировать картридж - режим £ [g 1

INPUT вводится номер драйва. В окне "TITLE" появится имя картриджа и на экране
распечатаются номера файлов, а затем свободные пространства в килобайтах

Стереть файл в картридже - режим £ [£ 1

Запрашивается номер микродрайва и имя файла. Если этого файла нет, то загорается
ABSENT!

Выполнить на картридже форматирование ■ режим £ Е 1

Вводится номер микродрайва и новое имя картриджа

7. Печать текста

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

Рассматривайте процедуру печати как управляющую программу. Ее материал - это
текстовый файл, включающий в себя РСТ- операторы управления печатью. Процедура
вызывается: режим Е [Р] и затем: INPUT ответить на следующие вопросы.

1. Номера первой и последней строк выводимого текста. При этом программа сама
обеспечивает пользователя следующими данными: номера первой и последней строк
существующего файла, интервал между строками, количество копий, установка РСТ. Если
эти данные устраивают, то модно непосредственно начинать печатать без изменений. Если
нет, то их можно изменить - [R]. Как и в операции "SAVE", первый номер строки должен быть
точным, а вместо последнего (для введения файла целиком) годится любое заведомо
большее число.

2. Интервал между строками - может быть любое число от 1 до 254.

3. Количество копий - от 1 до 254.

4. Статус ACTIV/NON ACTIV шестидесяти операторов управления печатью Он может быть
включен/выключен вводом [R], когда курсор находится на РСТ.

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

Имеет смысл хранить копию текста на ленте или микродрайве перед ее выводом на
печать. В случае непредвиденных сбоев это помогает во всех случаях.

Количество переменных, которые "дрейфуют" между принтером и текстовым файлом
может быть весьма большим. В этом процессе используются многочисленные РСТ-
операторы. Связь между всем этим превращает TLW в довольно мощное средство, но
искусство работы с ним зависит от пользователя.

8. Операторы управления печатью (РСТ).

Коды, которые компьютер выдает принтеру для печати, находятся в диапазоне кодов ASII
от 32 до 127 Кроме того, строчные принтеры используют специальные коды для исполнения
специальных функций для печати, для чего программа TLW имеет банк из 60-ти
настраиваемых РСТ-операторов управления печатью, которые могут быть вставлены где
надо в текстовый файл для исполнения какой-либо заранее подготовленной процедуры

при выполнении самой печати.

Операторы разбиваются на три группы:

- непосредственное управление принтером (24 оператора),

- для отыскания и печати именованных стрингов из Бейсик-области (26 операторов), -
передачи управления из TLWb Бейсик-область (10 операторов).

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

Все операторы РСТ вставлются в текст с использованием режи ма Е и [1 ]. За этой командой
требуется ввод числа от 1 до 24 для операторов непосредственного управления принтером,
ввод буквы от А до Z с последующим знаком $ для одного из 26 стринговых операторов РСТ
или ввод числа от 90 до 99 для обращения к бейсиковым строкам от 9000 до 9900. Оператор
РСТ всегда вставляется в текст слева от "видимого" символа на экране. Эти операторы не
занимают экранного простанства, строки остаются правильной длины, отсчет колонок не
нарушается.

Оператор РСТ можно вставить в файл в любом месте и он не приведет к порче информации.

Чтобы указать, где в тексте "спрятан11 оператор РСТ, следующий за ним символ
изображается в "обращенном" виде - белым по черному. Если это невозможно,т.е. оператор
стоит в са^ом гОпче строки, то в этом случае маркер "конец строки" изображается
подчеркнутым. "Обращение" символов может быть включено или выключено. Для этого
применяется команда видомаркера режим Е и [V], которая работает как переключатель.
Индикатором на экране при этом является наличие или отсутствие маркера "конец абзаца"
в хэдере рядом с величиной разбивки экрана. Генерация маркеров "конец строки" также
включается по этой команде.

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

Влияние всех операторов РСТ может быть включено или выключено INPUT командой [R]
для изменения переключателя РСТ при инициализации команды выдачи на печать. 24
оператора управления принтером на печать не выводятся, но остальные два типа - печать
стрингов и обращения к бейсиковым строкам • выводятся, если переключатель РСТ вклю-
чен.

Операторы непосредственного управления принтером.

TLW содержит файл из 24 управляющих операторов, цель которого - обеспечить выдачу
на принтер избранных групп по четыре кодовых байта для сообщения принтеру о
необходимости выполнения специальных действий и, тем самым, изменить формат печати.
Эти операторы, вставленные в файл, - одиночные байты из диапазона от 128 до 151,
пронумерованные от 1 до 24. Команда режим Е [Т] изображает на экране текущий формат
байта операторов РСТ, все метки и соответствующие им значения байтов в диапазоне от 0
до 254. Значение 255 изображается как "-". Как было уже сказано, все метки и байты могут
быть изменены.

Используя команду управления печатью можно ввести стандартный префиксный байт,
который будет выдаваться перед группой байтов РСТ и выполнять роль инициатора для
интерфейса или принтера.

Файл операторов управления принтером приведен ниже:

Метки и значения, приведенные в таблице, относятся к интерфейсу ZXLPRINT III и к
принтерам системы EPSON FX-80. Все эти метки и байты могут быть изменены. Файл
управления принтером может быть вызван также и из Бейсика.

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

Йа ленту

SAVE"PCT-TABLE"CODE$1003,217

LOAD"PCT-TABLE"CODE

На микродрайв 1 и т.д.

SAVE*"M"; 1 ;"PCT-TABLE"CODE 51003,217

LOAD*"M"; 1; "PpT-TABLE"CODE

Печать именованного стринга

Если после ввода РСТ • [Symbol Shift] и [I], набрать какую-либо букву и знак $, а затем
[Enter], то можно вставить управляющий оператор, который скомандует TLW найти и
вставить в этом место при печати бейсиковый стринг, имя которого совпадает с данным
оператором управления печати. Другими словами, оператор А$ вызовет печать бейсикового
стринга, который в этот момент имеет имя. Стринг будет напечатан точно так, как-будто он
является частью текста, хотя сам текстовый файл остается без изменений. Если этот стринг
не может быть найден, т.е. он не был построен бейсиковой программой, что недопустимо,
то в этом случае печать остановится и TLW выдаст сообщение: CHECK А$ (проверьте А$).
Программа перейдет к исполнению следующей копии, если она нужна, можно выйти - [Q]
или вернуться в текстовый файл, если необходимости в копиях больше нет.

Переход к Бейсик-строке.

Командой [Symbol Shift] и [I] и вводом числа (от 90 до 99) осуществляется ввод оператора
управления печатью, который в процессе печати остановит принтер и обратится к Бейсик-
строке, номер которой в 100 раз больше введенного числа. Так ввод 96 отправит компьютер
к строке 9600.

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

Принтер можно задействовать напрямую режимом LPRINT, что может быть удобным для
выдачи некоторых простых комментариев, подчеркиваний слов и т.п. Можно распечатать
текст на экране командой PRINT, хотя при этом необходимо учитывать, что печать должна
идти от 4-ой строки до 21, т.к. если страница будет переписана после возврата из Бейсика,
то хэдер - нет Если запортится верхняя часть экрана, то команда М.Е [А] исправит экран, но
вы окажетесь в начале текстового файла.

Когда программа в Бейсике отработала полностью, последней должна быть команда: GO
ТО 9999, - чтобы выполнить переход обратно в TLW. Переход к машинным кодам производится
оператором RANDOMIZE USR 65200, расположенным в этой строке, хотя это можно сделать
и из любого другого места программы

Если возврат в TLW невозможен по этому адресу, т.е. при вызове принтером Бейсика не
был "оставлен" адрес возврата, то программа начнется с начала текстового файла, как будто
по команде режим Е[А], а принтер не будет работать до следующего к нему обращения.

9. Слияние и составление комплексных документов.

Существует два способа, с помощью которых можно включить "внешний" текст в TLW там,
где это надо. Первый выполняется при наборе, когда надо вставить заранее подготовленную
последовательность символов, например, данных или часто используемую повторяющуюся
последовательность символов или букв. Второй способ применяется при печати на принтере
и позволяет практически неограниченное количество материалав виде бейсиковых стрингов,
взятых из области переменных Бейсика. Вставляются они в те же места, где были помещены
операторы РСТ. Можно также выполнять вычисления в Бейсик-области, поместив в
выводимый файл оператор РСТ для перехода в Бейсик-область.

Включение стринга при наборе текста

Если бейсиковый стринг существует в области переменных Бейсика, то командой Include
- [Symbol Shift] и [I] можно набрать имя этого стринга при вводе текста. На экране появятся
первые восемь си мволов со знаком # и указанием его дли ны. Далее его можно использовать,
т.е вставить текст - [U], перейти к другому • [N], или отбросить совсем и вернуться к набору
текста • [Q] Если его использовали, то стринг впишется в текстовый файл так, как будто его
впечатали, и, конечно, будут соблюдены все заданные режимы, например, выравнивание
правого поля, перенос слов и т.п.

Включение стринга при печати текста на принтере.

Если предположить, что стринг существует, то можно воспользоваться одним из 26
операторов управления печатью, предназначенных для впечатывания стрингов в качестве
единиц печатного материала. Это должен быть простой стринг. Операторы РСТ находятся
в пределах от А$ до Z$. Пользователь должен обратить внимание, что мы нигде не говорим
о длине этих стрингов, поэтому внимательно смотрите, чтобы их длина соответствовала
размерам страницы

Если имеется текст или данные, содержащиеся в файлах, полученных другими
программами (например программой Кэмпбелл Мастерфайл), то наилучший способ ввода
этих файлов в TLW осуществляется через Бейсик , до входа в TLW. Для этого текст,
подлежащий вводу, присваивается (LET) бейсиковым стрингам, которые вызываются из
TLW путем РСТ, предназначенными для вставки стрингов в текст

Материал, который необходим, легче всего получить из мастер-файла через бейсик-
строки - это метка данных (от А до Z), а остальные 129 байтов - это сами данные. Их можно
записать на микродрайв:

4900 LET L$ я и ":REM Настройка для ввода
4910 LET N я 0: REM указатель номера файла
4920 GO ТО USR R.REM возврат в мастерфайл
6000 LET D$ ж D$ ♦ С$ (2ТО) ♦ CHR$0; REM Прием данных, установка

маркеров

6010 GO ТО USR R: REM Возврат в мастерфайл за следующими данными
7000 LET N в N ♦ 1:REM Сохранение номера файла
7010 OPEN «8; aMa;1;aMFL DATA" ♦ STR$N

7020 PRINT #8:D$:CLOSE#8:REM Сохранение каждой нумерованной

записи

7030 GO ТО USR R: REM Возврат в мастерфайл

Здесь данные 0$ записываются на микродрайв 1 с именами файлов MFL DATA 1, MFL
DATA 2 и т.д. Последующий вызов в TLW может быть выполнен, например, такими
строками:

9000 LET N я 1: REM Для инициализации используйте оператор РСТ'90'
9010 GO ТО 9999: REM Возврат в TLW

9500 OPEN #5; МММ; 1; "MFL DATA" ♦ STR$N:REM Здесь используйте оператор
РСТ95*

9510 INPUT $5; CLOSE $5: LET N а N ♦ 1: REM Получение записи Н$ЕТС.

9520 GO ТО 9999: REM Возврат в TLW

9600 FOR А я О ТО 4: REM Для пяти записей и т.д.

9610 LET Т$ > Н$ ((AM30 ♦ 1) ТО (А*130 ♦ 129)): REM Т$ извлекает

каждую запись
9620 GO ТО 9999: REM Возврат в TLW

9700 NEXT A:REM Чтобы вернуться к 9600 четыре раза, используйте

оператор РСТ'97'.
9710 GO ТО 9999: REM Окончательный возврат в TLW

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

Если накопился большой объем информации, которую нужно переработать таким образом,
то имеет смысл освоить работу с файлами при помощи микродрайва и интерфейса -1. Эти
вопросы рассмотрены во многих книгах, например: ANDREW PENNEL "MASTER YOUR ZX
MICRODRIVE". В этой книге рассмотрена также довольно мощная программа • база данных
"UNIFILE", которая также может быть использована при работе с файлами, в том числе и с
TLW.

Вызов Бейсика в процессе печати

С помощью команды РСТ INSERT и вводом числа от 90 до 99 можно отправить компьютер
в Бейсик область в процессе печати текста. Цель этого - выполнение каких-либо вычислений,
в частности для того, чтобы пересмотреть некоторые стринги и создать новые, которые
можно использовать соответствующей командой управления печатью для включения
стрингов. Пользователь для этого должен в Бейсик-области написать соответствующую
программу. В то же время, из области Бейсика пользователь может управлять печатью в
обычном режиме LPRINT.a для каких-либо действий, может вызвать и экран TLW. Если в
процессе работы Бейсика происходит ошибка, компьютер останавливается обычным образом,
это не влияет на продолжение процесса печати при условии, что строка Бейсика 9999 или
оператор RANDOMIZE USR 65200 по-прежнему используется для возврата в TLW.mto, обычно,
и бывает в случае появления ошибки.

Когда компьютер отправляется в Бейсик-область, его цель - строки 9000, 9100.. 9900. На
каждой из них можно организовать выполнение какой-либо специфической задачи при
условии, что предусмотрен возврат через строку 9999 или через оператор RANDOMIZE USR
65200. Фактически, любая ошибка, возникающая в работе в Бейсик-области не влияет на
TLW, так что можно выполнять любые действия и рассчитывать на возврат в TLW через
адрес 65200.

10. Калькулятор

В любое время, когда программа находится в режиме ввода текста, ее можно использовать
как калькулятор для выполнения любых арифметических или математических вычислений,
если введете соответствующее математическое выражение. Результат вычислений может
быть присвоен одной из бейсиковых числовых переменных от МО до М9, как будто калькулятор
имеет десять регистров памяти.

Когда калькулятор вызывается - режим Е [Symbol Shift] и [С] - страница опускается на две
строки и высвечивается слово ACCESS: в высвеченной зоне теперь можно записать какое-
либо выражение. Это может быть численное выражение, результат которого тоже число,
например: 4*3 ♦ 8*5, а может быть набор чисел, функций, логических операций, имен
переменных, операции над стрингами, Если, например, записать выражение в виде стринга:

LET С$ = "М1 ♦ 125.5* (INT(M2/M3)* (1 ♦ VAT)"

то можно выполнить и VAL$, если все входящие переменные М1, М2,МЗ, VAT и т.п.
существуют и определены. Если результат не может быть получен по какой-либо причине,
т.е. вычисления прервутся, выведется вопрос: WHAT? - и введенное выражение будет на
экране до нажатия какой-либо другой клавиши.

Если результат будет выдан, то теперь есть выбор, - запом н ить его в бейсиковой переменной
от МО до М9, для чего надо нажать цифру от 0 до 9. Любая другая клавиша приведет к
другому тройному выбору - [U]. Чтобы использовать результат, т.е. ввести его в текст, как
будто он был набран с клавиатуры; [N] - опустить результат, опустить и повторить команду,
[Q] - отбой команды. Текст не изменится, если не нажимали клавишу [R].

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

Если в соответствии с какой-либо специфической ситуацией вы можете иметь ее на
кассете и впоследствии перезагрузить в TLW, когда необходимо, однако, предусмотрите,
чтобы не были при этом выполнены CLEAR или RUN, иначе те переменные, которые
существуют, могут быть потеряны.

ПРИЛОЖЕНИЕ 1. ТЕХНИЧЕСКИЕ ДАННЫЕ.

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

Таблица адресов некоторых системных переменных

Блок TLW в машинных кодах от 5100 до 65535

Адрес вызова 5100

Адрес возврата во время печати 65200

Режим работы процессора - с прерываниями (режим 2)

Размер текстового файла от 0 до 25К в зависимости от RAMTOP

Файл операторов управления печатью
Формат: 24 различных оператора, состоящих из:

байты от 1 до 5 -
байты от 6 до 9 -

стандартный префикс -
блок кодов интерфейса принтера -
память калькулятора -
переменные калькулятора -

байты операторов ASCII

байты кодов, их значения
от 0 до 254 (255 - пробел)

от 0 до 254 51219, один байт.

от 65176 до 65199 вкл.

10 бейсик-переменных от МО до М9

все бейсик-переменные

длина включаемых стрингов -

в соответствии с Бейсиком имена
включаемых стринговых переменных от
F$ до Z$

Все перечисленные данные могут быть вычислены через Бейсик:
- PRINT PEEK ADRESS - для однобайтных переменных;
• PRINT PEEK ADRESS ♦ 256* PEEK (ADRESS ♦ 1) - для двухбайтных.
Копирование файлов операторов управления принтером.

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

Группа 2. Обработка текстов.

Стереть символ [Caps Shift] и [0]

Стереть строку до конца [Caps Shift] и [9]

Стереть до конца файла режим Е [Symbol Shift] и [9]

Стереть весь текст режим Е [Symbol Shift] и [Z]

Переключатель INSERT/OVERWRITE

(вставить/переписать) режим Е [1]

Сдвинуть текст влево [Symbol Shift] и [Q]

Сдвинуть текст вправо [Symbol Shift] и [Е]

Центрировать текст режим Е [Н]

Выровнять данную строку режим Е [Symbol Shift] и [J]

Сжать строку режим Е [Symbol Shift] и [L]

Переоформить текст до конца абзаца режим Е [Symbol Shift] и [R]

Вставить оператор управления

печатью режим Е [Symbol Shift] и [1]

Вставить символ COPYWRITE режим Е [Symbol Shift] и [К]

Повторить блок текста режим Е [R]

Уничтожить блок текста режим Е [К]

Найти/изменить текст режим Е [X]

Группа 3. Утилиты и структурные команды.

Вкл./выкл. выравнивание строк режим Е [J]

Вкл./выкл. перенос строк режим Е [W]

Переключение регистра печати

на on «у строку режим Е [Symbol Shift] и [2]

Включить Бейсик-стринг режим Е [Symbol Shift] и [1]

Вкл./выкл. контурную линию режим Е [О]

Вкл./выкл. видео маркеры режим Е [V]

Верхний/ нижний регистр [Caps Shift] и [2]

Изменения левого поля режим Е [М]

Изменения правого поля режим Е [Symbol Shift] и [М]

Изменить разбивку экрана режим Е [Symbol Shift] и [V]

Изменить величину табуляции режим Е [Symbol Shift] и [Т]

Изменение цвета бордюра режим Е [Symbol Shift] и [В]

Изменение цвета хэдера режим Е [Symbol Shift] и [Н]

Подсчет слов/байт режим Е [Symbol Shift] и [W]

Калькулятор режим Е [Symbol Shift] и [С]

Установка таймера режим Е [Symbol Shift] и [X]

Отбой команды [Symbol Shift] и [Q]

Возврат в Бейсик режим Е и [В]

Группа 4, Команда печати.

Вызов меню печати режим Е [G]

Вызов файла операторов

управления принтером режим Е [Т]

Напечатать текст режим Е [Р]

Группа 5. Команды ввода/вывода.

Загрузить текст режим Е [L]

Записать текст режим Е [S]

Оформить картридж режим Е [F]

Раскаталогизировать картридж режим Е [С]

Стереть картридж режим Е [Е]

ПРИЛОЖЕНИЕ 3. ПОДКЛЮЧЕНИЕ ПРИНТЕРА.

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

В TLW применен стандартный подход, согласно которому вывод на экран производится
по 2 каналу, а выход на принтер - по третьему каналу. В то же время, ZX - принтер работает
через генератор символов по каналу 2 и сильно отличается от обычного принтера. Интерфейс,
который вы используете, может функционировать самостоятельно, т.е. необходимости в
специальных кодах для его запуска нет, но может для своей работы потребовать
дополнительные коды из TLW или из ОЗУ. Тогда эта последовательность кодов будет
служить связующим звеном между компьютером и принтером при всяком обращении к
принтеру. Она может, например, просто перезадать адрес вызова 3 канала так, чтобы
задействовалась стандартная инструкция "RESTART 10", которую TLW использует для
выдачи символа, содержащегося в регистре А микропроцессора на канал принтера, или

можно просто заменить байт "RESTART 10" какой-то другой процедурой, удовлетворяющей
требованиям принтера. Информация, приведенная ниже, позволяет решить, что сделать в
конкретной ситуации или как модифицировать программу, чтобы принтер печатал
правильно.

После того, как сделаны необходимые изменения в программе и убедитесь, что принтер
работает нормально, надо вернуться в Бейсик и записать модифицированную программу
TLW на внешний носитель для дальнейшего использования без переналадки. После того,
как вы "персонализировали" своими изменениями программу, необходимо задать "базовое"
время таймера, а затем записать программу, используя строку 220 (для ленты) или 320 (для
микродрайва).

А. Интерфейс ZXLPRINT III.

(Интерфейс дополнительных кодов не требует)

Для работы этого интерфейса до первого обращения к принтеру необходимо выполнить
в Бейсике определенные действия, чтобы любое обращение к 3 каналу было адресовано
строчному принтеру. Это может быть выполнено в любое время, однако удобнее всего при
первой загрузке программы. Может потребоваться ввести адрес с длиной строки, которую
требуется печатать (до 132). В программе управления печатью введите адрес вызова "0" и
введите, если необходимо коды "возврат каретки" и "перевод строки", а затем введите
число "1" в качестве стандартного префикса к операторам управления печатью.

Б. Интерфейс типа TASPRINT

(Необходим собственный кодовый блок).

Этот интерфейс работает от собственного блока кодов, который должен быть установлен
в буфере/Х -принтера до начала работы интерфейса. Этот блок задает адрес вызова канала
3 при обращении по адресу 23296 и, хотя ему это необходимо только один раз, более просто
и надежнее обращаться к нему всякий раз при обращении к принтеру. Этот кодовый блок
называется "Т AS BUFF" и загружается через Бейсик до TLW. Адрес вызова 23296 вводится в
программу управления печатью. Введите также в соответствии с требованиями принтера
байты "возвратакаретки" и "перевода строки" и установите стандартный префиксоператоров
управления печатью - 27.

В. Интерфейс типа KEMPSTON

Коды для этого интерфейса уже записаны в TLW, но необходимо выполнить небольшие
изменения для того, чтобы они работали вместо байта "RESTART 10й, предназначенного для
вызова принтера по установленному каналу. Фактически два первых байта кемпстоновских
кодов забиты байтами "RESTART 10" "RETURN", поэтому все, что надо сделать - это вернуться
в Бейсик после загрузки программы и выполнить два прямых ввода:

РОКЕ 65176,245: РОКЕ 65177,1

Теперь интерфейс будет работать правильно Введите 0 в программу управления печатью
и стандартные байты "возврат каретки " и "перевод строки" для принтера Кроме того
требуется определить значение префикса, чтобы наиболее просто использовать операторы
управления печатью.

Г. Интерфейс типа MOREX.

Коды для этого интерфейса не содержатся в TLW, но те 16 байтов, которые потребуются,
легко вводятся в простанство, занимаемое кемпстоновскими кодами (см.выше). Необходимо
ввести специальную программу и запустить ее после загрузки:

10 DATA 245, 219, 251, 230,1, 32, 250, 241
20 DATA 211, 251, 62,1, 211,127, 175, 211,126( 201
30 DATA FOR N s 0 TO 17: READ A: POKE 65176 ♦ N,A
40 NEXT N: STOP

Теперь надо установить адрес вызова "О" в программе управления печатью и задать байты
"возврат каретки" и "перевод строки" в соответствии с требованиями при нтера. Можно также
для удобства ввести префикс операторов управления печатью.

Д. Другие интерфейсы. Общий обзор.

Если используется интерфейс, который не вошел в выше приведенное описание, то
необходимо выполнить некоторые приготовления для его работы в соответствии с
прилагаемой инструкцией. Можно использовать два основных способа. Можно использовать
2566 пространство буфера ZX-принтера для размещения некоторых кодов, которые будут
работать как посредники между компьютером и интерфейсом (это пространство • от 23295
23551 включительно) или можно для этой цели использовать пространство, занимаемое
кемпстоновскими кодами. Важным, при этом, является принять байт "RESTART 10" в 65176
или его отвергнуть. Этот байт является первым в последовательности из 27 байтов. Важно
помнить, что всякий байт, подлежащий передаче на принтер, будет храниться в регистре
А процессора Z80 и обращение по этому адресу использует этот байт и вернется в TLW.

ПРИЛОЖЕНИЕ 4. ИСПОЛЬЗОВАНИЕ ТЕКСТОВ ИЗ ДРУГИХ ПРОГРАММ

Любой текстовый файл из любой программы может быть загружен в TLW, если он
содержится в формате кодов на ленте или в формате данных на микродрайве, но при этом
не будет работать изображение текста на экране и выдача его на принтер до тех пор, пока
ни будут введены управляющие байты, маркирующие концы строк текста и концы абзацев.
Это байт "14й - "конец строки" и байт "13" - "конец абзаца".

Если файл не размечен таким образом, то его надо предварительно отмаркировать.

Для этой цели используется программа TLW 64 BASIC. Лучше всего ее применять до
загрузки TLW, т.к. она при выполнении маркировки очищает память компьютера. Затем
производится запись переработанного текста на ленту и последующая его загрузка уже в
TLW.

Программа tlw64 basic используется следующим образом:

1. Очистите память (RANDOMIZE USR 0) и загрузите TLW 64 BASIC. Он загрузит 75 байтов
TLW 64 CODE и опустит RAMTOP компьютера до 29999, так что текстовый файл начнется с
30000.

2. Теперь можно присвоить файлу имя и загрузить текст в компьютер с магнитофона или
микродрайва.

3. Теперь программа запросит размер этого файла. Если размер неизвестен, программа
может сама сообщить его, а также "стандартную" длину строки данного текста (обычно 32
или 64). Этих данных достаточно для задания

маркеров.

4. Вы должны решить, будете ли во всех строках ставить маркер "конец строки" или "конец
абзаца". Сама программа слишком мала, чтобы решить этот вопрос в каждой строке
конкретно. Обычно применяют "конец строки", если заранее не известно, что текст состоит
из отдельных, не связанных предложений и ему не потребуется делать команду "REFORM"
Введите "Y" для "конца абзаца" или просто [Enter] для "конца строки"

Когда все выполнено правильно, то программа сообщит новую длину файла и предложит
записать текст на ленту для последующей загрузки в TLW.

ПРИЛОЖЕНИЕ 5. НЕКОТОРЫЕ СОВЕТЫ.

Если даже требуется, чтобы текст начинался со второй колонки, тем не менее установите
поля, пусть небольшим, но положительным числом, например 5. Это позволит впоследствии
по команде сдвига текста влево расширить интервалы между словами и вставить
пропущенный символ или два, т.к. у всегда будет запас в пять пробелов. Если необходимо
большее пространство, то установите величину правого поля достаточно большую, затем
выровняйте текст по правому полю, в результате чего создадутся пробелы, затем сдвигом
текста влево/вправо подготовьте место для вставки, вставьте то, что надо, восстановите
поля и выполните команду "REFORM" для ликвидации беспорядка. Конечно, вставку
можно сделать и с помощью команды "INSERT", но если ВЫ ее уже используете, то данный
поход окажется очень полезным.

Если при разбивке экрана на 60 и 80 знаков в строке включены видеомаркеры, то иногда
бывает трудно разобрать на экране символы, если они идут за операторами управления
печатью вставленными в текст. Временно отключите маркеры, затем после прохождения
курсора по этому участку текста вновь включите.

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

Например:

9200 INPUT "PAUSING! COUNTINUES"; Z$: GO TO 9999

Если Вы имеете текстовый файл очень ценного материала, а при попытке записать его на
микродрайв прошло сообщение SPACE!, то это значит, что места для создания соответству-
ющего 595 байтного канала недостаточно и таким образом TLW защищает себя от
потенциального запирания. Чтобы освободить место, спуститесь в Бейсик и очистите все
переменные, - например* RUN 30000, и попытайтесь еще раз сохранить текст. Другой способ
• переместить курсор в начало текстового файла и выполнить "INSERT", чтобы "спрятать" его
целиком, пересмотреть вверх ненамного значение RAMTOP подачей более высокого значения
CLEAR, чем было до этого, затем вернитесь в TLW и наберите первый символ "спрятанного"
текстового файла, а затем верните его на прежнее место. Первый метод предпочтительнее,
но с помощью второго можно выйти из более серьезных неприятностей

ПРИЛОЖЕНИЕ 6. ДОПОЛНЕНИЕ КО 2-ОЙ ВЕРСИИ ПРОГРАММЫ TLW

Вторая версия программы TLW включает в себя ряд дополнений, расширяющих
возможности ее применения. Так, в частности, реализована возможность эксплуатации
программы в дисковых системах: ОПУС, БЕТА, КЕМПСТОН и ГОРДОН, а также в картриджной
системе WAFA. Подробности приведены ниже. Изучать их следует совместно с основным
описанием программы TLW.

1. Страница сводки команд.

Все 60 команд могут быть вызваны на экран набором режим Е [Н]. Там же изображаются
комбинации клавиш, необходимых для выполнения этих команд. Эту страницу можно
выдать на принтер, используя для этой цели программу TLW2.DATA, которая входит в
прилагаемую кассету.

2. Цвета экрана.

Ранее существовавшие команды для изменения цвета бордюра и хэдера заменены
одной, вызываемой режим Е [Caps Shift] и [В], с помощью которой обеспечивается доступ
к установке цвета страницы, символов (для увеличения их яркости прибавьте 64), бордюра
и хэдера.

3. Красная строка.

Команда ТАБ была несколько расширена и теперь за ней следует оператор INSERT и
число от 0 до 8. Набранный текст хранится в файле обычным путем, но если проходит
команда "REFORM", то первая строка каждого абзаца сдвигается вправо на величину
INSERT.

4. Трансляция символов, выдаваемых на экран или на принтер.

Сделано дополнение, позволяющее отдельно осуществлять трансляцию восьми символов
между экраном и текстом, а также между принтером и текстом.

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

б) до восьми значений байтов символов могут быть пересмотрены для выдачи на печать.

Обе эти трансляции выполняются с помощью программы TLW2, DATA, которая не входит
в основную программу из соображений экономии памяти, но легко сливается с ней оператором
MERGE. Проведенная трансляция записывается на ленту вместе с кодовой частью программы
и загружается всякий раз, когда необходимо.

5. Выбор паузы между печатью копий на принтере.

Теперь можно печатать до 254 копий без необходимости нажимать [Enter] после каждой
копии. Это выполняется путем переключения паузы на "OFF" в хэдере (в подпрограмме
подготовки печати нажмите [R]).

6. Надстраничные и подстраничные надписи, нумерация страниц

во время печати.

Для управления принтером во время печати используются специальные операторы. В их
число входят операторы "возврат каретки" и "перевод строки". Обычно первый из них
установлен как "13", а второй, например "10". В новой версии TLW их можно вводить с
помощью операторов управления печатью "вставить стринг" и "GO ТО 9000" и т.п. Так,
например, если А$ или какой-либо другой стринг, который используется, задан какСНР$13,
а строка 9000, или другая, включает в себя оператор LPRINT CHR$ 10, с последующим
возвратом в TLW через строку 9999, то результат будет тот же самый. Однако теперь можно
прервать выдачу текста на принтер в конце каждой строки. Организовать один или два
счетных цикла для организации печати из Бейсика заранее подготовленных данных,
параметр цикла использовать, например, при подсчете номера страницы.

7. Объединение файлов во время печати.

Системные переменные TLW, обозначающие начальный и конечный адреса в RAM
выводимого файла могут в работе программы пересматриваться из Бейсика. Таким путем
можно объединять большое количество различных файлов и последовательно выдавать
их на печать целиком или частично.

а) первый файл, подлежащий печати, должен содержать оператор GO ТО 9900". Этот
файл будет печататься нормально, пока не встретится этот оператор После этого у правление
будет передано строке Бейсика.

б) в этой строке должна быть, например, такая запись:

9900 LET А = USR 64978; LOAD * "М"; 1; "PEW = FILE" CODE
A:RANDOMIZE USR 65010: GO TO 9999

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

8. Другие системы хранения (дисковые системы и т.д.)

Новая версия TLW легко перенастраивается на работу в дисковых системах. Прилагаемая
кассета содержит отдельно кодовые блоки для работы дисковых систем ОПУС, КЕМПСТОН,
ГОРДОН, БЕТА и для картриджной системы WAFA.

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

а) КЕМПСТОН - /"KDOS 2 CODE"/.

40 CLEAR 26500: GOSUB 100: PRINT # 4; LOAD "TLW2

CODE": GO TO 1000
70 PRINT # 4: SAVE"AUTO" LINE 40
80 PRINT # 4: SAVE"TLW2" CODE 50000, 15535
4000 REM KDOS LINES

4010 PRINT # 4: SAVE "1234567890" CODE 0, 0: PRINT 1:

PRINT USR 8
4020 PRINT # 4: CAT: PRINT 1: PRINT USR 8

Примечание:

PEEK 50067 и 50113 должны быть no 72, а не 69. Если неверно, то введите правильное
значение посредством РОКЕ.

б) БЕТА - /"BETA 2 CODE"/.

40 CLEAR 26500: GOSUB 100: RANDOMIZE USR 15363:

REM: LOAD "TLW2" CODE
45 GO TO 1000

70 RANDOMIZE USR 15363: REM: SAVE "BOOT" LINE 40
80 RANDOMIZE USR 15363: REM: SAVE "TLW2" CODE

50000, 15535
4000 REM BETA LINES

4010 RANDOMIZE USR 15363: REM: SAVE"A: 12345678"

CODE 123345,12345
4020 PRINT USR 8

в) ОПУС - /"OOPUS 2 CODE"/.

2020 IF I s $ s "Y" OR l$ = "G" THEN OPEN # 3; "B"; LPRINT

(для порта принтера), а затем уберите (DELETE)
строки 2-25, 2030, 2040, 2050).

4000 REM OPUS LINES

4010 SAVE * "M"; 1; PRINT USR 8
4020 CAT 1: PRINT USR 8

г) ГОРДОН - TQRDN 2 CODE"/.

40 CLEAR 26500: QOSUB 100: LOAD DL "TLW 2 CODE: GO TO 1000

70 SAVE DL "TLW 2 CODE" CODE 50000,15535

4000 REM GORDON LINES

4010 SAVE DL "1234567890" 0, 0:PRINT USR 8

4020 CAT 1: PRINT USR 8

д) WAFA - /"WAFA 2 CODE"/.

Без подключения WAFA загрузите TLW с кассеты и измените адрес CLEAR в строке 30 с
26500 на 28500. Перепешите программу на ленту. Отключите питание. Подключите WAFA.
Загрузите новую программу, затем:

40 COEAR 28500: GOSUB 100: LOAD * "TLW2", 50000: GO ТО 1000
70 SAVE "TLW2" И" LINE 40

80 SAVE "TLW2", 50000, 15535 2020 IF l$ = "Y" OR l$ = "G"

THEN FORMAT • "R;2400:OPEN = *3, "R": LPRINT
(для RS 232)

2020 IF S$ s "Y" OR l$ = "G" THEN OPEN"* "C"; LPRINT (для Центроникса).
В обоих случаях уберите (DELETE)
строки 2035, 2030, 2040, 2050.
4000 REM WAFA LINES

4010 SAVE "A: 1234567890", 0, 0: PRINY USR 8
4020 CLS: CAT * "A": PRINT USR 8

Примечание:

Когда вы работаете с программой TLW 64 BASIC, необходимо убрать все бейсиковые
команды, связанные с лентой/диском, чтобы задействовать дополнительные 2Ксистемных
переменных WAFA.

е) Интерфейс Квмпстон - /"£"/.

После полной загрузки TLW наберите следующие прямые команды:

РОКЕ 64954, 245
РОКЕ 64955, 1

Затем измените строку 2000 на "2000 RAUSE 50" и уберите (DELETE) все остальные строки
Затем установите префиксPST, "возврат каретки", "перевод каретки" так, как это необходимо
для принтера.

ж) Интерфейс -1, PRT RS 232.

После полной загрузки TLW наберите следующие прямые команды:

РОКЕ 64954,207
РОКЕ 64955, 30
РОКЕ 64956, 201

Измените строку 2000:

2000 PAUSE 50: FORMAT "В": 19200: LPRINT

Остальные "двухтысячные" строки уберите

После того, как выполнены все требования и система внешней памяти запущена, запишите

программу на ленту вместе с внесенными в нее изменениями. Для этого используйте
команду RUN 70.

9. Прикладная программа "TLW2t flAZA".

Эта программа включает в себя раздел печати сводки команд (RUN 7000), а также сводки
операторов управления печатью РСТ (RUN 7100); а также имеет подпрограмму, позволяю-
щую выполнить по желанию трансляцию символов для экрана и для печати (RUN 7300).
Эта программа может быть слита с главной программой с помощью команды MERGE.
Предварительно надо выполнить CLEAR 35000.

10. Устранение маркера конца строки.

Функция DELETE была несколько расширена. Теперь, когда курсор находился на строке
нулевой длины, то есть состоящей только из маркера "конец строки" или "конец абзаца", то
действие команды DELETE приводит к полному изъятию данной строки.

Длина строки в новой версии программы была увеличена до 148 символов. Изменение
можно ввести изменен ием РОКЕ в строке 2050. Заметьте, однако, что такая дли на строки не
для всех интерфейсов доступна и может быть ими понижена, если задать значение выше
128.

Префикс операторов управления печатью выдается на сводке операторов РСТ в качестве
оператора 0.

В отличии от первой версии программы, сводка операторов РСТ переделана так, чтобы
соответствовать интерфейсу кемпстон - Е вместо ZXLPRINT III. Если используется
интерфейс ZXLPRINT III, необходимо вернуть байты назад в соответствии с руководством.
Если требуется отдельно записать файл РСТ, то обратите внимание, что начальный адрес
был изменен, см. список системных переменных.

11. Внимание/

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

Больше ни на что в программе это не повлияет

12. Измененная сводка системных переменных.

Блок TLW в машинных кодах от 50000 до 65535
Адрес вызова 52410

Адрес возврата при печати 65154
Режим работы процессора прерывистый, мода 2

Размер текстового файла от 0 до 24К, начиная от RAMTOP + 2 от 52193 до 52408 вкл.
Файл операторов управления печатью.
Формат: 24 оператор, каждый из них включает в себя:

- байты от 1 до 5 - байты ASCII

- байты от 6 до 9 - коды (0 - 254)

- стандартный префикс - от 0 до 25452409, 1 байт
Операторы управления принтером 1-24 значения от 129 до 151

Операторы управления принтером 90-99 значения от 152 до 161
Операторы управления принтером значения от 230 до 256 от А до Z

Блок колов интерфейса принтера

(под интерфейс Кемпстон - "S") от 64954 до 64977 вкл.

Память калькулятора 10 переменных МО до М9
Переменные калькулятора как в Бейсике

Длина включаемых стрингов до 4К
Имена включаемых стрингов от А$ до Z$

Некоторые системные переменные:

Адрес очистки текстового файла 64978, возврат к начальному адресу

Установка таймера 65189,1 байт.

Вершина пространства

текстового файла 65193,2 байт.

Начала текстового файла 65195,2 6айт.(РАМТОР + 1)

Список транслируемых от 65157:8 байт, до экрана

символов 65165,8 байт

Список транслируемых от 65173,8 байт, до принтера

символов 65181,8 байт.

Байт "возврат каретки" 65241,1 байт.

Байт "перевод строки" 65242,1 байт.

Строка Бейсика для выхода 65244,2 байт.

Величина разбивки экрана 65254,1 байт.

Адрес вызова строчного

принтера 65257,2 байт.

Последний байт т.ф. 65268,1 байт.

Адрес курсора в файле 65270,2 байт.

Колонка курсора в тексте 65272,1 байт.

Строка курсора в тексте 65273,2 байт.

Левое поле 65281,1 байт.

Правое поле 65282,1 байт.

Интервал между строк 65285,1 байт.

Количество печатных копий 65286,1 байт.

Установка величины табуляции 65289,1 байт.

Введение русского шрифта в редактор.

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

Наибольшую трудность при введении дополнительного шрифта представляет
нестандартный генератор символов, позволяющий получать, вместо 32 символов в строке,
40, 48, 60, 80 символов.

Работа генератора символов при печати 40...80 знаков.

Стандартное изображение символа представляет из себя шаблон размером 8x8 пикселей
и задается с помощью 8 байт.

Каждой строке этого шаблона соответствует один байт, состоящий из 8 бит. Так, для
первой строки этого шаблона (первого байта) включенными являются биты: 4,3,2 и 1, а для
второй строки биты 5 и 1

В этом случае первый байт равен:

2 Л4 + 2 Л 3 + 2Л 22л 1 =16 + 8 + 4 + 2 + 30, второй:

2Л5 + 2Л1 =32 + 2 = 34

В редакторе текстов TLW в режиме 40 знаков для каждого символа выделяется шаблон
шириной 6 пикселей, в режиме48-5 пикселей, в режиме60-4 пикселя и в режиме80- всего
3 пикселя на каждый символ. Изображение на экране символа, имеющего нестандартную
ширину, выполняется в три приема.

Пример. Печать буквы а в режиме 48 знаков в строке.

1. На первом этапе выполняется нормальная печать буквы А в отведенном для нее
знакоместе

2. Затем в изображении буквы "вырезаются" три лишние столбца, чтобы осталось
необходимых 5 пикселей по ширине символа (4,3, и 0 столбцы). В программе "вырезание"
столбцов выполняется просто выключением всех пикселей, находящихся в этих столбцах.
Тогда изображение буквы примет вид:

В итоге получаем изображение буквы А, имеющее в ширину 5 пикселей. Следующая
буква будет начинаться в следующем знакоместе экрана размером 8x8, но после операций
"вырезания" столбцов и сдвига влево перейдет частично в знакоместо буквы А и т.д.

Таким образом, для режима 40 знаков из стандартного изображения необходимо вырезать
2 столбца, для режима 60 • 4 столбца, для режима 80 - 5 столбцов

Чтобы программа знала, какие столбцы можно вырезать в каждой букве, она имеет две
таблицы. Длина каждой - 96 байт (т.к. шрифт содержит 96 символов). Первая таблица
служит для режимов 40 и 48 и находится в адресах с 63100 по 63195, а вторая - для режимов
60 и 80 - с 63198 по 63293. Так как таблицы являются одномерными, то правильнее их
назвать не таблицами, а векторами.

Так как изображение цифр, знаков препинаний и символа "пробел" при переходе с
латинского на русский не меняются, то вносить изменения следует только в ячейки:

с 63133 по 63195 для 1 вектора и с 63231 по 63293 для 2 вектора.

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

Пример. Если для какой-то буквы в режиме 48 необходимо вырезать столбцы 4, 5,0, то в
соответствующей ячейке 1-го вектора надо поместить число 49, т.к.
2 Л 5 + 2 Л 4 + 2Л 0 = 32 + 16 + 1 = 49.

Если надо в режиме 80 вырезать столбцы 7, 5, 4, 3, 0, то в соответствующей ячейке 2-го
вектора должно храниться число 185, т.к.
2Л7 + 2 л 5+2* 4 + 2* 3+ 2 л 0 = 128 + 32 + 16 + 8+1= 185

Введение русского шрифта

В программе возможно изменить шрифт, если разместить шрифт в известных вам
адресах и изменить двухбайтовую системную переменную CHAR3, находящуюся в адресах
23606 и 23607, так, чтобы.она указывала на адрес, находящийся на 256 байт ниже, чем
начало нужного вам шрифта.

В редакторе TLW этот метод не срабатывает, т.к. редактор самообращается к шрифту, не
прибегая для этой цели к услугам системной переменной CHAR3. Изменить это обращение
можно внесением изменения в машинный код по адресам 63661 и 63662 командой РОКЕ

Для латинского шрифта в этих ячейках содержится значение 0 и 61, соответственно. Для
русского шрифта надо подставить свои числа

Пример. Если вы хотите, чтобы русский шрифт начинался с адреса 30000, то надо заслать
числа:

РОКЕ 63661,48: РОКЕ 63662,117

Обратите внимание, что 117*256 + 48 = 30000

При возврате на латинский шрифт следует опять восстановить исходные значения.

Соответствие между буквами латинского и русского алфавитов.

В компьютерах Спектрум принят американский стандарт кодов ASCII, согласно которому
за каждым кодом от 32 до 127 закреплен определенный символ. Коды от 0 до 31 -
служебные и управляющие, коды от 128 до 255 этот стандарт не устанавливает, здесь
каждая фирма может разместить то, что хочет. Синклер разместил в этой области коды
графических си мволов (от 128 до 143), графику пользователя (от 144 до 164) и так называемые
токены ключевых слов (от 165 до 255).

Пример. Код 239 - это токен LOAD, а код 248 - SAVE.

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

Коду ASCII соответствует код КОИ-7/НО, который содержит и знаки латинского алфавита.
Код КОИ-7/Н1 содержит только знаки русского алфавита. Многие принтеры кроме латинского
имеют и русский шрифт, работают в этих стандартах и могут из программы переключаться
с помощью кодов управления с латинского шрифта на русский и наоборот.

Таблица соответствия русских и латинских символов.

Код

ASCII

КОИ-7/Р1

КОИ-7/РО

1

2

3

32

пробел

33

!

!

34

35

*

*

36

$

$

37

%

%

38

&

&

39

40

(

(

41

)

)

42

*

*

43

ЛЛ

+

ЩЩ

45

.

.

46

47

/

/

48

0

0

49

1

1

50

2

2

51

3

3

52

4

4

53

5

5

54

6

6

55

7

7

56

8

8

57

9

9

58

59

j

60

<

<

61

s

=

62

>

>

63

?

?

64

@

Ю

65

А

А

66

В

Б

67

С

Ц

68

D

д

69

Е

Е

70

F

Ф

71

G

Г

72

Н

X

73

|

и

74

J

й

75

К

к

76

L

л

77

М

м

78

N

н

1

2

3

79

0

О

80

Р

П

81

Q

Я

82

R

p

83

S

с

84

Т

T

85

и

У

86

V

ж

87

W

в

88

X

b

89

Y

ы

90

Z

3

91

[

ш

92

э

93

1

щ

94

ч

95

96

&

ю

97

а

а

98

Ь

6

99

с

ц

100

d

д

101

е

102

f

Ф

103

g

г

104

h

X

105

i

и

106

j

й

107

k

к

108

1

л

109

m

м

110

n

н

111

о

0

112

P

п

113

q

я

114

r

р

115

8

с

116

t

т

117

U

У

118

V

ж

119

w

в

120

X

ь

121

У

м

122

z

э

123

<

ш

124

1

э

125

>

щ

126

ч

127

В соответствии с таблицей задача состоит в том, чтобы, например, 47-м шаблоном вместо
буквы "Q" стоял шаблон буквы "Я" и т.д.

В соответствии с таблицей задача состоит в том, чтобы, например, 47-м шаблоном вместо
буквы "Q" стоял шаблон буквы "Я" и т.д.

Конструкция букв русского алфавита.

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

декоративных элементов, желательно избегать закруглений. Наиболее удобно пользоваться
для подготовки шрифта специализированными программами, например, графическим
редактором Artstudio, но для тех, кто таких программ не имеет, остается загрузить шрифт
вручную с клавиатуры. Наберите и запустите RUN, когда она отработает, выгрузите
сформированный шрифт на ленту. Этот блок кодов расположен, начиная с адреса 30000 и
имеет длину 768 байт (96 символов по 8 байт).

10 FOR I = 1 ТО 768
20 READ А

30 РОКЕ(29999 + 1),А
40 NEXTI

50 SAVE RUS CODE 30000,768

100 DATA 0,0,0,0,0,0,0,0

101 DATA 0,16,16,16,16,0,16,0

102 DATA 0,36,36,0,0,0,0,0

103 DATA 0,36,126,36,36,126,36,0

104 DATA 0,8,62,40,62,10,62,8

105 DATA 0,98,100,8,16,38,70,0

106 DATA 0,16,40,16,42,68,58,0

107 DATA 0,8,16,0,0,0,0,0

108 DATA 0,4,8,8,8,8,4,0

109 DATA 0,32,16,16,16,16,32,0

110 DATA 0,0,20,8,62,8,20,0

111 DATA 0,0,8,8,62,8,8,0

112 DATA 0,0,0,0,0,8,8,16

113 DATA 0.0.0.0.62.0.0.0

114 DATA 0,0,0,0,0,24,24,0

115 DATA 0,0,2,4,8,16,32,0

116 DATA 0,60,70,74,82,98,60,0

117 DATA 0,24,40,8,8,8,62,0

118 DATA 0,60,66,2,60,64,126,0

119 DATA 0,60,66,12,2,66,60,0

120 DATA 0,8,24,40,72,126,8,0

121 DATA 0,126,64,124,2,66,60,0

122 DATA 0,60,64,124,66,66,60,0

123 DATA 0,126,2,4,8,16,16,0

124 DATA 0,60,66,60,66,66,60,0

125 DATA 0,60,66,66,62,2,60,0

126 DATA 0,0,0,16,0,0,16,0

127 DATA 0,0,16,0,0,16,16,32

128 DATA 0,0,4,8,16,8,4,0

129 DATA 0,0,0,62,0,62,0,0

130 DATA 0,0,16,8,4,8,16,0

131 DATA 0,60,66,4,8,0,8,0

132 DATA 0,0,72,84,116,84,72,0

133 DATA 0,0,56,72,72,120,72,0

134 DATA 0,48,64,112,72,72,120,0

135 DATA 0,0,72,72,72,72,120,8

136 DATA 0,48,8,120,72,72,120,0

137 DATA 0,0,48,72,120,64,56,0

138 DATA 0,0,56,84,84,56,16,0

139 DATA 0,0,120,64,64,64,64,0

140 DATA 0,0,72,48,48,48,72,0

141 DATA 0,0,72,88,104,72,72,0

142 DATA 0,16,72,88,104,72,72,0

143 DATA 0,0,72,80,96,80,72,0

144 DATA 0,0,56,72,72,72,72,0

145 DATA 0,0,68,108,84,84,68,0

146 DATA 0,0,72,72,120,72,72,0

147 DATA 0,0,48,72,72,72,48,0

148 DATA 0,0,120,72,72,72,72,0

149 DATA 0,0,56,72,72,56,72,0

150 DATA 0,0,112,72,72,112,64,0

151 DATA 0,0,46,72,64,72,46,0

152 DATA 0,0,124,16,16,16,16,0

153 DATA 0,0,72,72,120,6,120,0

154 DATA 0,0,64,56,16,56,64,0

155 DATA 0,0,120,72,120,72,120,0

156 DATA 0,0,64,112,72,72,112,0

157 DATA 0,0,66,116,76,76,116,0

158 DATA 0,0,120,8,56,6,120,0

159 DATA 0,0,84,84,84,84,124,0

160 DATA 0,0,48,72,24,72,48,0

161 DAT A 0,0,84,84,84,84,124,4

162 DATA 0,0,72,72,56,8,8,0

163 DATA 0,0,96,56,40,40,56,0

164 DATA 0,92,84,116,84,84,92,0

165 DATA 0,56,72,72,120,72,72,0

166 DATA 0,120,64,120,72,72,120,0

167 DATA 0,72,72,72,72,72,120,8

168 DATA 0,56,72,72,72,72,120,72

169 DATA 0,120,64,120,64,64,120,0

170 DATA 16,124,84,84,84,124,16,0

171 DATA 0,120,64,64,64,64,64,0

172 DATA 0,72,48,48,48,48,72,0

173 DATA 0,72,72,88,104,72,72,0

174 DATA 16,72,72,88,104,72,72,0

175 DATA 0,36,40,48,48,40,36,0

176 DATA 0,56,72,72,72,72,72,0

177 DATA 0,68,106,64,68,68,68,0

178 DATA 0,72,72,120,72,72,72,0

179 DATA 0,48,72,72,72,72,48,0

180 DATA 0,120,72,72,72,72,72,0

181 DATA 0,56,72,72,120,40,72,0

182 DATA 0,120,72,72,120,64,64,0

183 DATA 0,120,64,64,64,64,120,0

184 DATA 0,124,16,16,16,16,16,0

185 DATA 0,72,72,72,120,8,56,0

186 DATA 0,84,84,84,56,84,84,0

187 DATA 0,120,72,120,72,72,120,0

188 DATA 0„64,64,120,72,72,120,0

189 DATA 0,68,68,116,76,76,116,0

190 DATA 0,120,8,8,56,8,120,0

191 DATA 0,84,84,84,84,84,124,0

192 DATA 0,48,72,24,8,72,48,0

193 DATA 0,84,84,84,84,84,124,4

194 DATA 0,72,72,72,120,8,8,0

195 DATA 60,66,153,161,161,153,66,60

Дополнительные сведения

В редактор TLW (THE LAST WORD) встроены процедуры для изображения букв "А" - код
97, "D" - код 68, "Y"-код 89. При переходе нерусский шрифт эти процедуры надо отключать

РОКЕ 63669,250:РОКЕ 63676,250: РОКЕ 63683,250

а при возврате к латинскому шрифту - подключать снова:

РОКЕ 63669,97: РОКЕ 63676,68:РОКЕ 63683,89

Качество отображения в режиме 80 символов для латинского шрифта
неудовлетворительное, а для русского - еще хуже. Изобразить буквы ЖБ.ШБ.ЩБ, ЫБ,Ю и

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

Порядок переделки программ на русский шрифт

1. Загрузите фирменную программу TLW 2.

2. На вопрос о том, подключен ли принтер, ответьте [N]. На экране должно появиться
рабочее окно редактора.

3. Перейдите в режим 40 знаков в строке (режим Е + [V]). На экране появится запрос
VIDEO: дайте в ответ число 40. Выйдите в режим Бейсик (режим Е + [В]). Теперь можно
вносить изменения в программу.

4. Выполните команду CLEAR 31 ООО, чтобы обеспечить место для изменений. Если этого
не сделать, то начиная с какого-то момента программа откажется принимать те изменения,
которые в нее вводятся. В строке 30 поднимите адрес RAMTOP, задаваемый оператором
CLEAR до 31000, чтобы разместить русский шрифт, начиная с адреса 30000 и освободить
место для программы.

В строке 30 поместите команду на загрузку русского шрифта, сформированного заранее.
Она примет вид:

30 CLEAR VAL31000:00 SUB VAL 100:PRINT":LOAD
TLW2CODE:LOAD RUSCODE 30000,768: GO TO VAL 1000

5. Строки 40,70 и 80, предназначенные для работы с м икродрайвом, можно удалить,если
его нет.

6. Строка 60 предназначена для выгрузки настроенной программы на ленту. Внесите в
нее изменения, чтобы выгружался и встроенный русский шрифт.

60 SAVE TLW2CODE VAL 50000, VAL15535:SAVE RUS
CODE 30000,768 :GO TO VAL90

7. И строке 3000, которая инициализирует программу, введите два новых параметра L и
R. Это номера строк, в которых начинается переделка шрифта:

L = 7000 - русский шрифт
R = 8000 - латинский шрифт

3000LET R = 7000:LEL = 8000:RANDOMIZE USR VAL52410

8. Введите новые семитысячные строки, обеспечивающие печать русскими буквами:
7000 REM

7010 REM* • PRUSSIAN LETTERS* * *

7020 REM ввод 1-го вектора для вырезания столбцов.

7030 RESTORE 7500

7040 FOR I = 63133 ТО 63195

7050 READ А

7060 POKE I,А

7070 NEXT I :REM ввод 2-го вектора для вырезания строк.

7080 RESTORE 7600

7090 FOR I = 63231 ТО 63293

7100 READ А

7110 POKE I,А

7120 NEXT I :REM подключение русского шрифта
7130 POKE 63661,48:POKE 63662,117 : REM отключение процедур
изображения символов "A","Y","D"

7140 POKE 63669,250* :РОКЕ 63670,250:РОКЕ 63683,250 : REM первый вектор

7500 DATA 131,7,7,7,7,7
7510 DATA 131,7,7,7,7,7,7
7520 DATA 131,7,7,7,7,7,7
7530 DATA 131,7,131,7,7,131,7
7540 DATA 131,7,131,7,7,131
7550 DATA 7,7,7,7,7,131
7560 DATA 7,7,7,7,131,7,131
7570 DATA 7,7,7,131,7,7,131
7580 DATA 7,131,7,7,131,7,131
7590 DATA 7,131,7 :REM второй вектор
7600 DATA 171,167,167,167,167,167,171
7610 DATA 167,167,167,167,167,167,171
7620 DATA 167,167,167,167,167,167,199
7630 DATA 167,171,167,167,179,167,171
7640 DATA 167,171,167,151,155,167,167
7650 DATA 167,167,167,171,167,167,151
7660 DATA 151,211,167,171,167,167,167
7670 DATA 167,167,167,199,167,171,167
7680 DATA 167,169,167,171,167,171,167
7690 GO TO 3000

9. Введите новые восьмитысячные строкиf обеспечивающие
печать латинскими буквами.

8000 REM

8010 REM * * ♦ENGLISH LETTERS* * *

8020 REM

ввод 1-го вектора

8030 RESTORE 8500

8040 FOR I = 63133 TO 63195

8050 READ A

8060 POKE I,A

8070 NEXT I :R£M ввод 2-ro вектора

8080 RESTORE 8600

8090 FOR I = 63231 TO 63293

8100 READ A

8110 POKE I,A

8120 NEXT I: REM подключение латинского шрифта
8130 POKE 63661,0:POKE 63662,61 : REM подключение процедур печати
символов "A", "D", "Y"

8140 РОКЕ 63669,97:РОКЕ 63676,68:РОКЕ 63683,89 :REM первый вектор

8500 DATA 137,13,13,13,25,13,13

8510 DATA 21,13,82,13,49,7,137

8520 DATA 1111113,13,13,37,25,13,35

8530 DATA 13,137,137,137,137,67,112

8540 DATA 131,7,131,7,73,25,69

8550 DATA 67,11,11,35,11,11,67

8560 DATA 67,67,35,131,11,11,11

8570 DATA 25,67,11,67,11,131,131

8580 DATA 131,11,67,82,49,70 :REM второй вектор

8600 DATA 185,185,185,185,185,185,185

6610 DATA 185,185,229,185,179,185,185

8620 DATA 157,185,185,173,185,185,100

8630 DATA 185,181,181,181,173,211,141

8640 DATA 199,143,199,248,211,157,217

8650 DATA 211,179,179,227,179,179,199

8660 DATA 211,203,227,227,179,179,179

8670 DATA 179,203,179,199,179,171,171

8680 DATA 179,179,199,229,227,203,227

10. Загрузите заранее подготовленный 768-байтный
блок кодов, содержащий русский шрифт.

LOAD" "CODE 30000,766

11. Теперь можно выгрузить созданную копию редактора на ленту

командой go то SIT.

12. Для проверки войдите в редактор командой GO ТО 3000.

13. Целее выполняйте выход из редактора в Бейсик через режим
Е + Ж 1, а вход:

GO ТО R - русский шрифт;

GO ТО L - латинский шрифт.

ЗАКЛЮЧЕНИЕ.

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

Дополнение 3.

Краткое дополнение к TLW2

Основным отличием этой версии программы от базовой является полная русификация
команд, сообщений и хэдера. Программа может работать с несколькими шрифтами (как с
латинскими, так и с русскими буквами). Переход на другой шрифт осуществляется с
помощью [Symbol Shift] и [I], после чего программа выдает запрос номера шрифта.
Необходимо выбрать один из 10 шрифтов.




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Железо - Об AY-mouse (вопросы и ответы).
Здесь был ты - Повелитель зубов - 2. Продолжение похождений компании бравых хоббитов.
BBS - список станций BBS ZXNet.
Наши новости - Новая demo - BLACK FURY.
Анонс - Привет! Это опять (WL) и я хотел бы рассказать вам о Захвате 0.

В этот день...   21 ноября