Системные программы для ZX Spectrum 1993 г.

Текстовый редактор TLW2 - построение редактора. Текст в редакторе. Технические подробности. Версии.


TLW2 разбит на два блока — бейсик-блок и кодовый блок.

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

Строка 20 перезапускает редактор. Если вы запустите редактор
командой RUN, не нужно делать повторную инициализацию прин-
тера.

Строка 30 служит для загрузки редактора с магнитной ленты.

Строки 40, 45 загружают редактор с дискеты.

Строки 50...90 служат для сохранения копии редактора. Копия
на магнитной ленте создается командой GO ТО 50, а на дискете —
GO ТО 70.

Строки 1000 и 2000 служат для инициализации интерфейса прин-
тера. Обычно это ZX Lprint III, RS-232, 9600 Bod. Интерфейс будет
инициализирован, только если на запрос Printer on ? [у] будет нажата
клавиша Y.

В строке 3000 записана команда, передающая управление редак-
тору.

Строки 4000...4020 служат для связи с дисковой операционной
системой. Ни в коем случае не меняйте строки 4010 и 4020.

Со строки 8900 может располагаться подпрограмма пользователя,
обеспечивающая обработку конца страницы при печати,
см. стр. 73.

Строки 9000.. .9998 предназначены для подпрограмм управления
печатью, подробнее см. стр. 76.

Строка 9999 содержит инструкцию возврата в редактор из под-
программ пользователя.

Блок кодов занимает верхнее пространство памяти (с адреса
47472 до 65535). Краткие сведения о нем приведены в При-
ложении 4.

Текст в TLW2 располагается между бейсик-блоком и блоком
кодов, причем верхняя граница фиксирована, тогда как нижняя
граница (начало текста) может перемещаться. Определяется ниж-
няя граница системной переменной RAMTOP, которая изменяется
оператором Бейсика CLEAR. Чем ниже адрес в RAMTOP, тем боль-
ший объем текста может обрабатывать редактор, но и тем меньше
памяти остается для бейсик-блока.

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

Таблица. Кодировка символов в TLW2m.

 

Знак

Код

Знак

Код

Зиаи

32

пробел

59

»

86 !

V

33

I

60

< 

«7

W

34

61

 

88

X

35

#

62

> 

90

Z

36

$

63

?

**

Y

37

%

64

 

п

1

за

&

65

А

п

 

3*

»

66

В

93

]

40

(

67

С

94

t

41

)

68

D

95

_

42

*

69

Е

96

f

43

+

70

F

 

44

ч

**

G

98

Ь

4$

-

72

Н

99

с

46

.

п

1

100

d

47

/

74

J

I0f

46

0

75

К

102

f

49

1

76

L

103

9

50

2

77

М

104

Ь

51

3

'78

N

106

i

52

4

79

О

105

i

53

5

80

Р

107

k

54

6

81

Q

108

1

55

7

82

R

109

m

56

8

83

S

110

n

57

9

84

Т

111

о

58

:

85

и

112

P

113

q

175

й

202

Е

114

r

176

к

203

Ф

115

s

177

л

204

Г

116

t

178

м

205

X

117

u

179

н

206

и

U8

V

180

о

207

й

119

w

181

П

20$

к

120

X

182

%

209

л

121

У

18$

р

210

м

122

z

184

с

211

н

123

< 

185

T

т

о

124

I

186

У

213

п

125

}

187

ж

214

я

126

 

188

ш

215

р

127

©

189

ь

216

с

...

 

190

ы

217

т

...

 

191

3

218

у

165

Ю

192

ш

219

ж

166

a

193

э

220

в

.167

б

194

щ

221

ь

168

Ц

195

ч

222

ы

169

Д

196

ъ

223

3

170

197

ю

224

ш

171

ф

198

А

225

э

172

г

199

Б

226

щ

1*3

X

200

Ц

227

ч

174

и

201

Д

228

ъ

Формат хранения текста следующий. На каждый символ или
управляющий код выделен один байт. Символы латинского алфа-
вита (см. таблицу кодировки), цифры и знаки хранятся в виде
кодов ASCII (коды в диапазоне от32до!27,в шестнадцатеричном

«иде — #20...#7F). Русские символы занимают коды в диапазоне
от 165 до 228 (#А5...#Е4)*. Коды 128... 151 (#80...#97) соответст-
вуют операторам непосредственного управления принтером (от 1
до 24 соответственно). Коды 152...161 (#98...#А1) соответствуют
бейсик-подпрограммам (9000...9900), а 230...255 (#E6...#FF) —
с.трингам (от а$ до z$ соответственно). Маркер конца строки обоз-
начается кодом 14, а маркер конца абзаца — 13.

Ниже приведены адреса и краткие характеристики некоторых
подпрограмм кодового блока TLW2.

65124 Подпрограмма очистки текста. Возвращает в регистрах ВС
процессора адрес начала текста в памяти.

65010 Подпрограмма настройки на текст. Более подробно она
описана на стр. 76.

65154 Адрес возврата в редактор из бейсик-подпрограмм.

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

64954 Подпрограмма печати очередного символа, код символа
находится в регистре процессора А. Символы русского ал-
фавита выводятся в виде символов набора КОИ-7 на-
бор 1**.

64957 Подпрограмма переключения принтера на русский ре-
гистр. Вызывается перед печатью русских символов.

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

64963 Подпрограмма инициализации принтера, вызывается каж-
дый раз в начале печати очередной копии.

64966 Подпрограмма, служащая для перевода строки.

64969 Подпрограмма завершения печати, вызывается при окон-
чании печати копии.

Некоторые системные переменные редактора TLW2m могут
пригодиться при управлении печатью:

65189 время установки таймера.
65193/94 адрес конца области текста.
65195/96 адрес начала области текста.

65173...65189 список транслируемых символов при печати
65173...65180 — коды исходных символов,
65181...65189 — коды конечных символов.

65241 код символа «возврат каретки».

65242 код символа «перевод строки».

65250/51 адрес текущего печатаемого символа. Этот адрес можно
использовать в бейсик-подпрограммах для пропуска или
повтора печати символов.

65268/69 адрес последнего байта текста в памяти.

65270/71 адрес курсора в тексте.

65272 колонка текста, в которой находится курсор.

65273/74 строка текста, в которой находится курсор.

65281 величина левого поля.

65282 величина правого поля.

65285 интервал между строками при печати (целое число строк).
Число определяет сколько раз будет вызвана подпрограмма
перевода строки.

65286 количество печатаемых копий.
65289 величина табуляции.

Все адаптированные автором этого описания версии основыва-
ются на фирменном продукте TLW2 версии 1.2. Обычно файл
бейсик-блока редактора называется «tlw2m», а блок кодов —
«tlw2mX.X», где «Х.Х» — номер версии.

VI.о

Первая «сырая» версия, содержит несколько ошибок, проявляю-
щихся в режиме вставки символов. Интерфейс принтера —
ZX Lprint III (поддерживается на уровне выдаваемых в принтер
кодов), последовательный RS-232, скорость 9600 (эти параметры
устанавливаются в Бейсике и могут быть при необходимости изме-
нены); тип принтера — Robotron 6323.01/02 в режиме ESC/P.

VI.1

Версия избавлена от серьезных ошибок предыдущей, однако
неправильно выводит на печать символ ъ. Кроме этого, после
печати каждой копии выдает на принтер код перевода формата.
Интерфейс принтера аналогичен VI.О.

VI .2

Окончательная (на сегодняшний день) версия. Интерфейс
принтера такой же, как и в VI.О.

V1.2s

Специальная версия для компьютера Scorpion ZS-256, бейсик-
блок называется «tlw2ms». Основное отличие этой версии от VI.2
заключается в том, что поддерживается интерфейс принтера дан-
ного компьютера (Centronics), тип принтера — Epson LX800 (рабо-
тает и с МС6313). Из бейсик-блока убраны строки, инициализи-
рующие интерфейс принтера. Не вызываются подпрограммы
переключения регистра (64957, 64960).

VI .3

Версия для компьютеров, изготавливаемых фирмой «Питер)».
Поддерживает тот же интерфейс принтера, что и VI.2s. Отличи-
тельной особенностью является другой стандарт клавиатуры
(QWERTY/ЙЦУКЕН).




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
График - графику работы BBS.
Trаvel tо Perм - Как-то в мае 2ооэ года мне удалось побывать в славном городе перми, что в эоо км от Чайковского.
Предисловие - Разношерстная газета.
Капля припоя - о плата расширения ОЗУ до 128кб с музыкальным сопроцессором AY8910 (8912) для компьютеров: Балтик, Ленинград, Пентагон, Байт и др.
Turbo/Slow - Схема ускорялки и тормозилки компа.

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