Описание прог Artist, Art Studio, Gens3-Mons3, Gens4, Hisoft C v1.1, Hisoft Pascal v1.4, Tasword2 и TLW 1969 г.

"The Last Word"(TLW) - приложение 4 - Использование текстов другой природы (не TLW). Приложение 5 - Некоторые советы.


     Приложение 4.
     =============

     Использование текстов другой природы (не TLW)
     =============================================

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

     Программа TLW 64 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.
     =============

     Некоторые советы.
     =================

     Если вам даже надо, чтобы текст начинался со 2-й колонки, тем не ме-
нее установите поля пусть небольшим, но положительным числом, например 5.
Это позволит Вам впоследствии по команде сдвига  текста  влево	расширить
интервалы между словами и вставить пропущенный символ или два, т.к. у Вас
всегда будет запас в пять пробелов. Если необходимо большее пространство,
то установите величину правого поля достаточно большую,  затем выравняйте
текст по правому полю (п.6.2.9.),  в результате чего создадутся  пробелы,
затем сдвигом текста влево/вправо подготовьте место для вставки, вставьте
то, что надо, восстановите поля и выполните команду "REFORM" для ликвида-
ции  беспорядка.  Конечно,  вставку  можно  делать  и  с  помощью команды
"INSERT",  но если Вы ее уже используете, то данный подход окажется очень
полезным.
     Если при  разбивке экрана 60 и 80 знаков в строке включены видеомар-
керы,  то иногда бывает трудно разобрать на экране символы, если они идут
за операторами управления печатью,  вставленными в текст. Временно отклю-
чите маркеры,  затем после прохождения курсора по  этому  участку  текста
вновь включите.
     Если Вы хотите приостановить принтер для смены бумаги и т.п., Вы мо-
жете сделать это где угодно установкой оператора управления печатью с об-
ращением к БЕЙСИКовой строке, например:

     92000 INPUT "Pausing! Enter continues"; Z$ :
     60 TO 9999 .

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

     Дополнение ко 2-ой версии программы TLW.
     ========================================

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

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

     Все шестьдесят  команд  могут быть вызваны на экран набором [E] "H",
там же изображаются комбинации клавиш,	необходимых для  выполнения  этих
команд.  Эту  страницу	можно выдать на принтер,  используя для этой цели
программу TLW2. Data, которая входит в прилагаемую кассету, см. п.9.

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

     Ранее существовавшие  команды  для  изменения цвета бордюра и хэдера
заменены одной, вызываемой M.E.с.ш. "B", с помощью которой обеспечивается
доступ	к  установке цвета страницы,  символов (для увеличения их яркости
прибавьте 64), бордюра и хэдера.

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

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

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

     Сделано дополнение,  позволяющее  отдельно  осуществлять  трансляцию
восьми символов между экраном  и  текстом,  а  также  между  принтером	и
текстом.
     а) Обычно при нажатии данной клавиши на клавиатуре всегда один и тот
же символ появляется на экране,  но до восьми  символов  могут	быть  пе-
ресмотрены так,  что,  например,  при нажатии "#" на экране изобразится и
т.п. Но это не влияет на результат, который пойдет на принтер.
     б) До восьми значений байтов символов могут  быть	пересмотрены  для
выдачи на печать.
     Обе эти трансляции выполняются с помощью программы TLW2. Data, кото-
рая не входит в основную программу из  соображений  экономии  памяти,  но
легко сливается с ней оператором MERGE,  см.  п.9. Проведенная трансляция
записывается на ленту вместе с кодовой	частью	программы  и  загружается
всякий раз, когда необходимо.

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

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

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

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

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

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

     а) Первый файл,  подлежащий печати, должен содержать оператор "GO TO
9900". Этот файл будет печататься нормально, пока не встретится этот опе-
ратор, после чего управление будет передано избранной строке БЕЙСИКа.

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

     9900 LET a=USR 64978: LOAD * "m"; 1;
	  "new-file" CODE a:RANDOMIZE USR 65010: GO TO 9999.

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

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

     Новая версия TLW легко перенастраивается на работу в дисковых систе-
мах.  Прилагаемая кассета содержит  отдельно  кодовые  блоки  для  работы
дисковых систем Опус,  Кемпстон,  Гордон,  Бета и для картриджной системы
Wafa.
     После того как Вы введете TLW в Ваш компьютер,  войдите в	БЕЙСИК	и
загрузите  оттуда соответствующий блок для Вашей системы.  Заметьте,  что
кроме этого в каждом случае Вы должны добавить или  переделать	несколько
строк  в БЕЙСИКе.  В частности "четырехтысячные" строки должны быть точно
такими, как приведенные ниже:

     а) Кемпстон - /"KDOS 2 CODE"/.
     40 CLEAR 26500: 60 SUB 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 должны быть  по 72, а	не 69. Если
неверно, то введите правильное значение посредством POKE.

     б) Бета - /"BETA 2 CODE"/.

     40 CLEAR 26500: GO SUB 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 12345, 12345
   4020 PRINT USR 8

     в) Опус - /"OPUS 2CODE"/.

   2020 IF i$="Y" OR i$="g" THEN OPEN # 3; "b": LPRINT (для порта принте-
ра), а затем уберите (DELETE) строки 2025, 2030, 2040, 2050)

   4000 REM OPUS Lines
   4010 SAVE * "m"; 1; "1234567890" CODE 0, 0: PRINT USR 8
   4020 CAT 1: PRINT USR 8

     г) Гордон - /"GRDN 2 CODE"/.

     40 CLEAR 26500: GO SUB 100: LOAD d1 "TLW2" CODE: GO TO 1000
     70 SAVE d1 "TLW2 B" Line 40
     80 SAVE d1 "TLW 2 CODE" CODE 50000, 15535
   4000 REM GORDON Lines
   4010 SAVE d1 "1234567890" 0, 0: PRINT  USR 8
   4020 CAT 1: PRINT USR 8

     д) Wafa - /"WAFA 2 CODE"/

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

     40 CLEAR 28500: GO SUB 100: LOAD * "TLW2", 50000: GO TO 1000
     70 SAVE "TLW2 B" Line 40
     80 SAVE "TLW2", 50000, 15535
   2020 IF i$="Y" OR i$="g" THEN FORMAT *"r";2400:OPEN =*3, "r": LPRINT
     (для RS 232)

   2020 IF i$="Y" OR i$="g" THEN OPEN #* "C": LPRINT
     (для Цетроникса) В обоих случаях уберите (DELETE) строки 2025, 2030,
2040, 2050.

   4000 REM Wafa Lines
   4010 SAVE "a: 1234567890", 0, 0: PRINT USR 8
   4020 CLS: CAT *"a": PRINT USR 8

     Замечание: Когда  Вы  работаете с программой TLW 64 BASIC,  Вам надо
убрать все БЕЙСИКовые команды связанные с лентой/диском, чтобы задейство-
вать дополнительные 2К системных переменных Wafa.

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

     После полной загрузки TLW наберите следующие прямые команды:
	 POKE 64954, 245
	 POKE 64955, 1 ,
затем измените строку 2000 на "2000 PAUSE  50"  и  уберите  (DELETE)  все
остальные "двухтысячные" строки.  Затем установите префикс РСТ,  "возврат
каретки", "перевод строки" так, как это необходимо для Вашего принтера.

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

     После полной загрузки TLW наберите следующие прямые команды:
     POKE 64954, 207
     POKE 64955, 30
     POKE 64956, 201 .

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

     2000 PAUSE 50:  FORMAT "b";  19200: LPRINT. Остальные "двухтысячные"
строки уберите.

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

     9. Прикладная программа "TLW2. DATA".
     =====================================

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

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

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

     Длина строки в новой версии программы была увеличена до  148  симво-
лов.  Изменение можно внести изменением POKE в строке 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  Значения от 128 до 151
Операторы управления принтером 90-99 Значения от 152 до 161
Операторы управлением принтером      Значения от 230 до 255
от a до z

Блок кодов интерфейса принтера
    (под интерфейс Кемпстон -"S")     от 64954 до 64977 вкл.
Память калькулятора		     10 переменных М0 до М9
Переменные калькулятора 	     как в БЕЙСИКе
Длина включаемых стрингов	     до 4К
Имена включаемых стрингов	     от а$ до Z$

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

Адрес очистки текстового файла	 64978, возврат к начальному адресу
Установка таймера		 65189, 1 байт
Вершина простр. текст. ф.	 65193, 2 б.
Начало т. ф.			 65195, 2 б. (RAMTOP +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 байт




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Разное - Погода.
Послесловие - рассказ как создавался номер, какие были трудности, без приукраски и даже с нецензурными выражениями.
Интервью - Сегодня у нас в гостях cyberm00h.
Этюды - Процедура рисования линии.
AD&D - Обыгрывание характера героя

В этот день...   23 апреля