ПРИЛОЖЕНИЕ 1. ТЕХНИЧЕСКИЕ ДАННЫЕ
Эти данные приводятся для возможности определения из бейсика некоторых
системных переменных редактора.
Таблица адресов некоторых системных переменных.
Все вышеперечисленные данные могут быть вычислены через бейсик:
PRINT PEEK ADRESS - для однобайтных переменных
PRINT PEEK ADRESS +256*PEEK(ADRESS+1) - для двухбайтных.
КОПИРОВАНИЕ ФАЙЛА ОПЕРАТОРОВ
УПРАВЛЕНИЯ ПРИНТЕРОМ
На кассете с редактором записана программа, которая может дать распечатку
операторов управления принтером. Ее имя - "TLW-TO KENS". Она может оказаться
полезной для пользователя. Сводка этих операторов не включена в кодовый блок
редактора из соображений экономии памяти, но в случае потребности в них,
прилагаемая программа вполне достаточна.
ПРИЛОЖЕНИЕ 2. СВОДКА КОМАНД
Перемещение курсора
ПРИЛОЖЕНИЕ 3. ПОДКЛЮЧЕНИЕ ПРИНТЕРА
Существует много типов интерфейсов принтеров, приемлемых для спектрумов.
Большинство из них по-своему преобразуют сигналы, которые поступают через раз'ем
компьютера в форму, необходимую для работы принтера. Редактор хорошо оснащен
для того, чтобы работать со многими из этих интерфейсов. Эта глава посвящена
настройке программы для работы с разнообразными интерфейсами.
В редакторе применен общепринятый подход, согласно которому вывод на экран
производится по4 2 каналу, а вывод на принтер - по третьему каналу. В то же время,
ZX-принтер работает через генератор символов по каналу 2 и сильно отличается от
обычного принтера. Интерфейс, который вы используете, может быть вполне
самообеспечен, т.е. необходимости в специальных кодах для его запуска нет, но может
для своей работы потребовать дополнительные коды либо внутри редактора, либо
где-нибудь в ПЗУ. Тогда эта последовательность кодов будет служить связующим
звеном между компьютером и принтером при всяком обращении к принтеру. Она
может, например, просто перезадать адрес вызова 3 канала так, чтобы
задействовалась стандартная инструкция "RESTART 10", которую редактор
использует для выдачи символа, содержащегося в регистре А микропроцессора на
канал принтера, или можно просто заменить байт "RESTART 10" какой-то другой
процедурой, удовлетворяющей требованиям принтера другим способом.
Информация, приведенная ниже, позволяет вам решить, что сделать в конкретной
ситуации или как модифицировать программу, чтобы достичь желаемого результата.
После того, как вы сделаете необходимые изменения в программе и убедитесь, что
принтер работает нормально, вам надо вернуться в бейсик и записать
модифицированную программу на внешний носитель для дальнейшего
использования без переналадки.
После того, как вы "персонализировали" свою программу своими изменениями,
вам надо задать "базовое" время таймера, а затем записать программу, используя
строку 220 для ленты или 320 для микродрайва.
Интерфейс ZX LPRJNTIII. Дополнительных кодов не надо
Для работы этого интерфейса необходимо в бейсике до первого обращения к
принтеру выполнить определенную последовательность выражений, в результате
которой любое обращение к 3 каналу пойдет на строчный принтер. Это может быть
выполнено в любое время, желательно при первой загрузке программы. Вам, может
быть, также потребуется ввести адрес с длинной строки, которую вы хотите печатать
(132). В программе управления печатью введите адрес вызова 0 и пересмотрите, если
необходимо, коды "возврат каретки" и "перевод строки", а затем введите 1 в качестве
стандартного префикса к операторам управления принтером.
Интерфейс типа TAS PRINT. Необходим собственный кодовый блок.
Этот тип интерфейса работает от собственного блока кодов, который должен быть
установлен в буфере ZX-принтера до начала работы интерфейса. Этот блок задает
адрес вызова канала 3 при обращении по адресу 23296 и, хотя ему это необходимо
только один раз, проще и надежнее обращаться к нему всякий раз при обращении к
принтеру. Этот кодовый блок называется "TASBUFF" и загружается через бейсик до
редактора. Адрес вызова 23296 вводится в программу управления печатью. Введите
также в соответствии с трабованиями принтера байты "ВК" и "ПС и установите
стандартный префикс операторов управления печатью - 27.
Интерфейс типа KEMPCTON
Коды для этого интерфейса уже записаны в редакторе, но необходимо выполнить
небольшие изменения для того, чтобы они работали вместо байта "RESTART 10",
предназначенного для вызова принтера по установленному каналу. Фактически, два
первых байта кемпстоновских кодов забиты байтами "RESTART 10", поэтому все, что
вам надо сделать - это вернуться в бейсик после загрузки программы и выполнить два
прямых ввода:
РОКЕ 65176,245:РОКЕ 65177,1
Теперь интерфейс будет работать правильно. Введите 0 в программу управления
печатью и стандартные байты "ВК" и "ПС" для вашего принтера. Вам также надо
определить значение префикса, чтобы наиболее полно использовать операторы
управления печатью.
Интерфейс типа MOREX
Коды для этого интерфейса не содержатся в редакторе, но те 18 байт, которые вам
потребуются, лекго вводятся в пространство, занимаемое кемпстоновскими кодами,
см. выше. Вам надо написать простую бейсик-прграмму и запустить ее после загрузки
редактора. Например такую:
10 DATA 245,219,251,230,1,32,250,241
20 DATA 211,251,62,1,211,127,175,211,127,201
30 FOR N-OTO 17: READ A: POKE 65176+N,A
40 NEXT N: STOP
Теперь вам надо установить адрес вызова 0 в программе управления печатью и
задать коды "ВК" и "ПС" в соответствии с требованиями принтера. Можно также для
удобства ввести префикс операторов управления печатью.
Другие интерфейсы. Общий обзор
Если у вас есть интерфейс, который не вошел в вышеприведенное описание, то вам
необходимо выполнить некоторые приготовления для его работы в соответствии с
литературой, прилагающейся к нему. Вы можете применять два основных способа.
Можно использовать 256 байтное пространство буфера ZX-принтера для размещения
некоторых кодов, которые будут работать как посредники между компьютером и
интерфейсом (это пространство - от 23296 до 23551 включительно) или вы можете
для этой цели использовать пространство, занимающее кемпстоновскими кодами.
Важным при этом является принять байт "RESTART 10" в 65176 или его отвергнуть.
Этот байт является первым в последовательности из 27 байт. При этом помните, что
всякий байт, подлежащий передаче на принтер, будет храниться в регистре а
процессора Z-80 и обращение по этому адресу используют этот байт и вернется в TLW.