ZX LPRINT III
Сегодня в нашем техническом разделе научно-технический кооператив "ПЛЮС" представляет Вам разработку универсального интерфейса для поддержки принтера. Это аналог зарубежного интерфейса ZX-LPRINT-III, адаптированный под отечественную элементную базу.
Прежде, чем предоставить слово НТК "ПЛЮС" мы дадим небольшую справку из зарубежных рекламных изданий, добавив от себя, что то, что в ней сказано о зарубежных принтерах, относится и к наиболее распространенным в нашей стране ROBOTRON, D100 и др., причем с любым интерфейсом (как с последовательным, так и с параллельным).
ZX LPRINT III Interface
Фирма: EUROELECTRONICS
Цена: 29.95 ф. ст.
Позволяет подключать "Спектрум 16","48","+" или "128" (в режиме 48) почти к любому матричному принтеру или типа "ромашка". Поддерживает команды LPRINT,LLIST. Команда COPY работает без вспомогательного математического обеспечения на принтерах: EPSON, STAR, BROTHERS, WALTERS, MANNERSMAM TALLY, TAXAN KAGA, CANON, SHINWA, CITIZEN. На SEICOSHA GP-700 команда COPY работает в полном цвете. На EPSON и совместимых может выполнять копию экрана в двух размерах. На CGP115, MСР40, MСР80, SCP80 копия может быть четырехцветной. Совместим с ZX-интерфейсомН, модемом VTX 5000 и дисковыми интерфейсами OPUS DISCOVERY и BETA.
Дополнительно добавим, что этот интерфейс давно и прочно завоевал популярность в мире и не удивительно, что многие фирмы, выпускающие прикладное программное обеспечение, ориентировались на него. Так, например, текстовой редактор THE LAST WORD TWO в своей поставочной версии рассчитан на работу именно с ним. Графический редактор ARTSTUDIO в числе прочих поддерживает работу и с этим интерфейсом. Одним словом, это тот интерфейс, который позволяет решить большинство практических проблем возникающих перед нашими читателями, когда они начинают подумывать о работе с принтером.
Адрес НТК "ПЛЮС" Вам должен быть известен:
127566, Москва, И-566, НТК "ПЛЮС"
- а сейчас предоставляем слово его сотрудникам.
Вопросы стыковки компьютера с принтером уже неоднократно освещались в самой разнообразной литературе, в том числе и в нашей методической разработке N1 "Интерфейсы Спектрума", но судя по почте наших читателей, интерес к этой теме не ослабевает.
В самом деле, отсутствие у базовой модели "Спектрума" встроенного интерфейса и программы поддержки принтера порождает у пользователей этого замечательного компьютера немало проблем. Положение осложняется еще и тем, что трудно найти универсальное решение, способное удовлетворить всех пользователей. В стране развелось невообразимое множество самодельных компьютеров, добавьте к этому разнотипность имеющихся принтеров и интерфейсов. Мы полагаем, что продолжая развивать эту тему в своих публикациях, мы поможем Вам найти подходящее именно Вам решение этого вопроса или хотя бы подготовим Вас к решению его своими силами.
Рассмотрим некоторые аспекты, связанные с подключением принтера к "Спектруму". Как Вы понимаете, кроме аппаратных средств, то есть самого интерфейса, необходима также и программная поддержка этого интерфейса, то есть программа драйвер. Как же этот вопрос решен в фирменном компьютере?
Для вывода на печать текста и изображений БЕЙСИК "Спектрума" имеет три команды - LPRINT, LLIST и COPY. Первые две команды почти полностью аналогичны командам печати на экране с той разницей, что при их выполнении открывается канал "P", в то время как по командам LIST и PRINT открываются каналы "S" или "K" в зависимости от того в главную часть экрана идет печать или в окно системных сообщений (в нижние две строки).
Открытие этого канала изменяет местонахождение программы поддержки и направляет поток данных на вывод с помощью программы, обслуживающей фирменный ZX-принтер. Работа ZX-принтера аналогична работе телевизора с механической разверткой. Головка с единственной иголкой постоянно перемещается взад и вперед по бумаге и, в зависимости от наличия точки (для экрана - пиксела) печатает ее на бумаге. Бумага подается после каждого прохода на 1/8 строки.
В более поздних моделях, работающих с термобумагой, бумага прижата к проворачивающемуся на 1/8 строки барабану с помощью головки, имеющей 256 нагревательных элементов с малой инерционностью нагрева и остывания. Здесь сразу производится печать 256 позиций пикселов. И в том и в другом случае печать производится на узкой бумажной ленте и представляет собой копию экрана, т.е. 22 строки по 32 символа или для графической копии 256X176 точек.
Программа поддержки ZX-принтера находится в ПЗУ (см. раздел "Секреты ПЗУ" в данном номере "ZX-РЕВЮ"), что освобождает пользователя от необходимости загружать ее с магнитофона и значительно экономит время.
Т.к. в нашей стране ZX-принтеры не слишком распространены, то пользователь вынужден решать задачу подключения реально существующего у него принтера. Для этого приобретается какой-либо подходящий интерфейс и загружается программа поддержки. Программа может быть размещена в любом месте памяти, где она не мешает работе других программ и не уничтожается при их работе. Например часто ее располагают в так называемом буфере принтера - это 256 байтов, следующие сразу за областью файла экранных атрибутов. Буфер принтера начинается с адреса 5B00H (23296). Разместить там драйвер возможно, если он не превышает 256 байтов. Далее изменяется стартовый адрес, хранящийся в системных переменных в соответствии с номером канала, который Вы открываете для вывода на печать. Теперь после команды начала печати компьютер будет обращаться к программе поддержки, которую Вы ему назначили и которая рассчитана именно на ваши аппаратные средства. Таков в общих чертах подход к этой проблеме в фирменном "Спектруме".
(Примечание "ИНФОРКОМа": Полагая, что вопросы работы с каналами и потоками компьютера тоже должны быть освещены поподробнее, мы запланировали дать в начале 1992 года обзорную статью "Каналы и потоки".)
Среди разновидностей отечественных моделей компьютера есть такие, в которых заложена аппаратная часть интерфейса принтера, например установлен порт пользователя, выполненный на КР580ВВ55.
В этом случае лишь необходимо подзагрузить программу поддержки этого порта. Иногда такую программу вписывают в свободную область ПЗУ компьютера. Это почти идеальный вариант, если эта программа подойдет для вашего принтера, если эта область не занята под кириллицу и если Вы готовы мириться с тем, что Ваше ПЗУ после этого не будет соответствовать фирменному со всей головной болью, возникающей на почве несовместимости.
Сегодня мы предлагаем Вашему вниманию вариант интерфейса принтера, адаптированного с фирменного ZX-LPRINT III- интерфейса. В некоторых моделях самодельных компьютеров он уже встроен и их владельцы смогут его опознать. Особенностью его является то, что программы поддержки записаны во входящую микросхему ПЗУ объемом 2K и потому не требуется загрузка с магнитофона.
Эта микросхема подменяет собой ПЗУ "Спектрума" тогда, когда выполняются команды печати.
Получив команду LPRINT, LLIST или COPY, процессор обращается к подпрограмме работы с ZX-принтером, который адресуется портом FB(HEX), при этом срабатывает дешифратор интерфейса ZX LPRINT и ПЗУ "Спектрума" заменяется "теневым" двухкилобайтным ПЗУ.
Для отключения ПЗУ "Спектрума" используется сигнал /ROMCS. В фирменном компьютере такой сигнал уже имеется и никаких доработок не требуется. В самодельных компьютерах использование этого сигнала потребует некоторой квалификации и знания принципиальной схемы. Подход к этой проблеме мы излагали в ZX-РЕВЮ N1 на стр. 17. В нашем случае надо найти сигнал выбора микросхемы ПЗУ, разрезать этот проводник и в разрыв включить резистор 680 Ом. Сигнал /ROMCS нашего интерфейса подключается после резистора к CS микросхемы ПЗУ "Спектрума".
Таким образом, при выборе ПЗУ интерфейса на CS ПЗУ "Спектрума" будет подано напряжение логической единицы, переключающее ее в третье состояние.
Надеемся, что пользователи, взявшиеся за изготовление этого интерфейса, смогут разобраться с сигналом /ROMCS, в случае же затруднений мы постараемся дать более подробные рекомендации.
Кроме того, что интерфейс не требует программной поддержки, он имеет еще ряд достоинств. В нем может программно переключаться режим работы:
- по протоколу "Центроникс" (параллельный);
- RS232 (последовательный).
В последовательном режиме можно настраивать скорость передачи данных от 75 до 9600 бод.
Интерфейс также поддерживает графический режим работы, причем программно настраивается на один из нескольких типов графических принтеров.
После включения компьютера с присоединенным к нему интерфейсом, его надо инициализировать. Это делается командой CHR$ 13 (Возврат каретки). Для этого дайте команду LPRINT ENTER. После инициализации интерфейс входит в текстовый режим печати 80 знаков в строке.
Для работы в графическом режиме одной из следующих команд выбирается тип графического принтера:
1. Seikosha GP 250х -LPRINT CHR$0; CHR$1
2. Seikosha 100а -LPRINT CHR$0; CHR$2
3. Epson (модели с высоким разрешением), Star DP510, Gemini и STX 80 -LPRINT CHR$0: CHR$3
4. Walters WM80, Shinwa, CTI CP80 -LPRINT CHR$0: CHR$4
5. To же, что и п. 3, но уменьшенная копия -LPRINT CHR$0; CHR$5
6. Microline 80 и 82 и им подобные, CG 115 и MCP в 4-х цветах. LPRINT CHR$0; CHR$6
7. Переход в текстовый режим -LPRINT CHR$0; CHR$0
Выбираемая команда и тип принтера отображаются на экране, перебор осуществляется клавишей SPACE, выбор - ENTER.
Интерфейс выполняет также следующие команды: LPRINT CHR$ 3 -
возврат каретки с переводом строки; LPRINT CHR$ 2 -LPRINT CHR$ 1; "A" -
здесь A - от 1 до 8. Столько знаков после этой команды будут восприниматься принтером как команды; LPRINT CHR$ 4; -
только один знак интерпретируется как команда принтеру; LPRINT CHR$ 5; -
знакогенератор компьютера отключается, все знаки после этого будут интерпретированы как коды ASCII, а не распечатываться как ключевые слова "Спектрумa". Выход из этого режима и возврат к знакогенератору компьютера производится командой
COPY.
LPRINT CHR$ 0; "S" -
переключение режима работы из параллельного ("Центроникс") в последовательный (RS232);
LPRINT CHR$ 0; "P" -
обратное переключение режима работы интерфейса. POKE 23697,n -
n задает число знаков в строке при печати. При инициализации устанавливается значение 80 знаков в строке. POKE 23728,n -
n задает скорость передачи при работе в последовательном режиме. выбирается из следующей таблицы:
скорость, бод |
n |
75 |
1 |
110 |
2 |
150 |
3 |
300 |
4 |
600 |
5 |
1200 |
6 |
2400 |
7 |
4800 |
6 |
9600 |
9 |
В интерфейсе использованы следующие микросхемы:
DD1 - 573 РФ2, 573 РФ5
DD2 - 555ЛЛ1
DD3- 155ЛП8
DD4- 555TM2
DD5 - 555 ИР23
стабилитрон - КС147А;
На схеме не указаны выводы питания для DD2,3,4:
- вывод 7 - 0 V, вывод 14 - +5 V DD 1 - вывод 12 - 0 V; 24 - + 5V не забудьте соединить вывод 21 с "землей".
DD 5 - вывод 10 - 0 V; 20 - +5V
Связь по последовательному интерфейсу RS232 осуществляется по упрощенному DTR протоколу по трем проводам:
- выход TXD - интерфейса соединяется со входом RXD принтера;
- вход DSR интерфейса - с выходом DTR принтера;
- третий провод соединяет интерфейс с принтером по "земле".
Подробнее об этом написано в МР N1 НТК ПЛЮС "Интерфейсы персонального компьютера Спектрум", стр. 14.
Обращаем Ваше внимание на то, что в данном интерфейсе выход данных TXD осуществляется в TTL уровнях и, если Ваш принтер не работает в этом режиме, необходимо дополнить интерфейс передатчиком шины с двуполярным выходом.
В параллельном режиме интерфейс соединяется с принтером не менее, чем 12 проводами - восемь шин данных D0 - D7, сигналы STROBE и BUSY и "земля" (см. МР N1, стр. 9).
В заключение добавим, что интерфейс активно использует для перемещения тела программы адресное пространство буфера принтера с 5B00 по 5BFF, которое в связи с этим нужно оставить свободным.
MEMRQ |
1 |
WR |
2 3 |
IORQ |
RD |
4 |
A14 |
5 |
A15 |
6 7 |
RESET |
1 |
8 |
2 |
7 |
3 |
6 |
4 |
5 |
5 |
4 |
6 |
3 |
7 |
2 |
8 |
1 |
9 |
23 |
10 22 |
11 |
19 |
20l |
AO A1 A2 A3 A4 A5 A6 A7 A8 A9 A10
10 |
2 |
11 |
3 |
13 |
4 |
14 |
5 |
15 |
6 |
16 |
7 |
17 |
8 |
_2 _3 _4 _5 _6
_8 _9 10 11
CE
+5V
3 13
6 10
Г
+5V
+5V
5 |
2 |
6 |
3 |
9 |
4 |
12 |
5 |
15 |
6 |
16 |
7 |
19 |
8 |
2 |
4 |
3 |
7 |
4 |
8 |
5 |
13 |
6 |
14 |
7 |
17 |
8 |
18 |
RG
11
C E
DD5
|
STROBE |
1
2 |
D0 |
D1 |
3 |
D2 |
4 |
D3 |
5
6 |
D4 |
D5 |
7
8 |
D6 |
D7 |
|
BUSY |
|
DSR
TXD
Ниже мы приводим распечатку содержимого ПЗУ интерфейса с контрольными суммами.
Если Вы пожелаете перед программированием ПЗУ завести код в память компьютера и сохранить его на ленте, а заодно и проверять правильность ввода по контрольным суммам, то можете воспользоваться той программой, которую мы давали в N3 из "ZX-РЕВЮ", внеся в нее незначительные изменения. Эти изменения отмечены в листинге знаком
Загрузчик рассчитан на то, что Вы будете собирать машинный код, начиная с адреса 60000. Если это не так, подправьте строки 1 и 30.
1 CLEAR 59999: LET add=60000: DIM a(10) !!!
2 DEF FN A(a$)= (CODE a$(1)-48- (7 AND a$ (1) >"9"))*16+(CODE a$(2)-48-(7 AND a$(2)>"9")) 10 FOR f=101 TO 356 !!! 12 RESTORE f
14 PRINT AT 0,0;f
15 READ a$
16 LET sum=0
20 FOR i=1 TO 2 22 LET b$=a$(2*i-1 TO 2*i) 24 LET a(i)=FN A(b$) 26 NEXT i
30 LET add=a(1)*256+a(2)+60000 !!!
32 LET sum=a(1)+a(2)
40 FOR i=3 TO 10
44 LET b$=a$(2*i-1 TO 2*i)
46 LET a(i)=FN A(b$)
48 LET sum=sum+a(i)
50 POKE add,a(i)
52 LET add=add+i
54 NEXT i
60 LET b$=a$(21 TO)
62 LET cs=FN A(b$)
64 LET cs1=sum-256*INT(sum/256)
66 IF cs<>cs1 THEN PRINT "ERROR!!!!!! line ";f:BEEP 2,10: STOP 68 NEXT f: STOP
Если Вы воспользовались этой программой, то данные перед вводом Вам надо оформить как строки DATA для ввода в память компьютера. Например первые две строки должны выглядеть только так:
101 DATA "00000000с33800C0970968"
102 DATA "0008217BCD224F5B211371"
0000 |
00 |
00 |
C3 |
38 |
00 |
CD |
97 |
09 |
68 |
00A8 |
0A |
D1 |
C8 |
47 |
18 |
ED |
00 |
FE |
95 |
0008 |
21 |
7B |
CD |
22 |
4F |
5B |
21 |
13 |
71 |
00B0 |
A5 |
30 |
50 |
FE |
90 |
30 |
7A |
FE |
0B |
0010 |
5B |
22 |
51 |
5B |
3E |
4C |
32 |
F4 |
E9 |
00B8 |
80 |
30 |
4D |
FE |
0D |
20 |
26 |
E5 |
EB |
0018 |
5B |
3E |
07 |
32 |
F2 |
5B |
21 |
4B |
A3 |
00C0 |
FD |
36 |
46 |
0B |
CD |
6E |
5B |
21 |
FB |
0020 |
0A |
22 |
2D |
5B |
C3 |
B9 |
0D |
4D |
AA |
00C8 |
B1 |
5C |
CB |
7E |
E1 |
3E |
0A |
C8 |
0F |
0028 |
4C |
49 |
4E |
45 |
38 |
30 |
12 |
00 |
CA |
00D0 |
F5 |
CD |
54 |
1F |
D2 |
00 |
0D |
DB |
BF |
0030 |
A0 |
00 |
CD |
12 |
0E |
C3 |
8B |
0D |
18 |
00D8 |
7B |
E6 |
80 |
20 |
F4 |
F1 |
D3 |
FB |
8C |
0038 |
D3 |
FB |
18 |
0E |
CD |
70 |
09 |
01 |
73 |
00E0 |
D3 |
7B |
D3 |
FB |
C9 |
FE |
20 |
38 |
1B |
0040 |
6E |
5B |
70 |
2B |
71 |
21 |
B1 |
5C |
43 |
00E8 |
BA |
CD |
90 |
5B |
FE |
60 |
28 |
B3 |
93 |
0048 |
CB |
AE |
C3 |
4D |
00 |
0E |
7B |
ED |
47 |
00F0 |
18 |
DE |
F5 |
FD |
7E |
46 |
FD |
BE |
57 |
0050 |
40 |
FB |
C9 |
3E |
23 |
21 |
B1 |
5C |
E3 |
00F8 |
45 |
3E |
0D |
D4 |
59 |
5B |
FD |
34 |
41 |
0058 |
CB |
AE |
C3 |
00 |
5B |
CD |
5C |
09 |
21 |
0100 |
46 |
F1 |
C9 |
D6 |
A5 |
C3 |
10 |
0C |
5B |
0060 |
18 |
D3 |
5F |
DB |
7B |
FB |
7B |
21 |
97 |
0108 |
CD |
90 |
5B |
CD |
E7 |
5B |
21 |
92 |
83 |
0068 |
FA |
5B |
CB |
26 |
38 |
62 |
FE |
06 |
4C |
0110 |
5C |
22 |
FE |
5B |
47 |
CD |
38 |
0B |
3F |
0070 |
38 |
31 |
28 |
15 |
FE |
17 |
28 |
04 |
57 |
0118 |
0E |
08 |
2A |
FE |
5B |
06 |
08 |
CB |
8B |
0078 |
FE |
16 |
20 |
33 |
D1 |
E1 |
D9 |
E1 |
4B |
0120 |
06 |
17 |
23 |
10 |
FA |
00 |
00 |
CD |
38 |
0080 |
F5 |
1F |
78 |
30 |
0A |
79 |
47 |
18 |
1E |
0128 |
6E |
5B |
0D |
20 |
ED |
C9 |
0F |
18 |
FC |
0088 |
06 |
F5 |
FD |
7E |
45 |
CB |
3F |
FD |
4A |
0130 |
9F |
CD |
90 |
5B |
D6 |
90 |
CD |
E7 |
A2 |
0090 |
96 |
46 |
30 |
15 |
CD |
F8 |
1F |
F1 |
86 |
0138 |
5B |
2A |
7B |
5C |
06 |
03 |
A7 |
17 |
5C |
0098 |
FE |
06 |
C8 |
3E |
20 |
CD |
59 |
5B |
43 |
0140 |
10 |
FC |
4F |
09 |
22 |
FE |
5B |
18 |
38 |
00A0 |
10 |
F9 |
C9 |
F3 |
DB |
FB |
C3 |
51 |
4F |
0148 |
CF |
F5 |
21 |
F5 |
5B |
06 |
04 |
23 |
AB |
0150 |
7E |
CD |
6E |
5B |
10 |
F9 |
F1 |
C9 |
28 |
0158 |
1B |
4B |
08 |
00 |
F3 |
01 |
FA |
00 |
B5 |
0160 |
11 |
00 |
5B |
21 |
62 |
08 |
ED |
B0 |
F5 |
0168 |
21 |
B1 |
5C |
CB |
76 |
C4 |
7D |
09 |
22 |
0170 |
01 |
0F |
00 |
2A |
4F |
5C |
09 |
36 |
95 |
0178 |
FC |
23 |
36 |
0E |
C9 |
11 |
6E |
5B |
7F |
0180 |
01 |
10 |
00 |
21 |
89 |
09 |
ED |
B0 |
E2 |
0188 |
C9 |
F3 |
F5 |
DB |
FB |
F1 |
CD |
BB |
89 |
0190 |
0F |
F5 |
DB |
7B |
F1 |
FB |
C9 |
F3 |
93 |
0198 |
01 |
A2 |
00 |
11 |
00 |
5B |
21 |
D0 |
99 |
01A0 |
09 |
ED |
B0 |
21 |
B1 |
5C |
CB |
76 |
B6 |
01A8 |
11 |
13 |
5B |
C4 |
80 |
09 |
01 |
0C |
82 |
01B0 |
00 |
21 |
C4 |
09 |
11 |
ED |
5B |
ED |
E5 |
01B8 |
B0 |
21 |
B1 |
5C |
CB |
76 |
C8 |
AF |
4F |
01C0 |
32 |
1F |
5B |
C9 |
1B |
4D |
08 |
1B |
C1 |
01C8 |
41 |
08 |
1B |
4B |
00 |
03 |
1B |
40 |
D6 |
01D0 |
DB |
7B |
FB |
CD |
28 |
5B |
FB |
C9 |
36 |
01D8 |
CD |
13 |
5B |
21 |
B1 |
5C |
CB |
7E |
8B |
01E0 |
3E |
0A |
C8 |
F5 |
CD |
54 |
1F |
D2 |
F8 |
01E8 |
00 |
0D |
DB |
7B |
E6 |
80 |
20 |
F4 |
C6 |
01F0 |
F1 |
D3 |
FB |
D3 |
7B |
D3 |
FB |
C9 |
95 |
01F8 |
01 |
00 |
00 |
C5 |
01 |
4E |
07 |
CD |
E2 |
0200 |
71 |
5B |
C1 |
C5 |
16 |
08 |
C5 |
D5 |
0C |
0208 |
78 |
CD |
B0 |
22 |
D1 |
47 |
04 |
7E |
BB |
0210 |
07 |
10 |
FD |
00 |
CB |
13 |
00 |
00 |
04 |
0218 |
00 |
C1 |
04 |
15 |
20 |
E8 |
00 |
00 |
FC |
0220 |
00 |
00 |
7B |
CD |
13 |
5B |
00 |
00 |
D8 |
0228 |
00 |
0C |
79 |
28 |
04 |
C1 |
4F |
18 |
03 |
0230 |
D2 |
D1 |
3E |
0D |
CD |
08 |
5B |
3E |
8E |
0238 |
BF |
B8 |
38 |
02 |
18 |
BD |
01 |
55 |
16 |
0240 |
02 |
21 |
A2 |
5B |
C5 |
06 |
00 |
09 |
36 |
0248 |
C1 |
7E |
CD |
13 |
5B |
23 |
10 |
F9 |
F0 |
0250 |
C9 |
7B |
2E |
18 |
26 |
35 |
FE |
05 |
3A |
0258 |
28 |
3D |
FE |
04 |
28 |
31 |
FE |
03 |
1B |
0260 |
28 |
47 |
FE |
02 |
28 |
4A |
FE |
00 |
41 |
0268 |
28 |
4D |
FE |
01 |
28 |
16 |
FE |
60 |
7A |
0270 |
CA |
53 |
08 |
D6 |
10 |
FE |
06 |
30 |
B1 |
0278 |
1B |
22 |
0A |
5B |
21 |
94 |
0A |
22 |
FD |
0280 |
45 |
5B |
18 |
3C |
22 |
0A |
5B |
21 |
1E |
0288 |
BA |
0B |
22 |
45 |
5B |
18 |
31 |
21 |
7B |
0290 |
FA |
5B |
36 |
80 |
C3 |
47 |
0B |
FD |
AF |
0298 |
7E |
30 |
F5 |
E6 |
E0 |
32 |
FE |
5B |
8E |
02A0 |
F1 |
F6 |
E0 |
FD |
77 |
30 |
C3 |
3C |
0C |
02A8 |
08 |
21 |
B1 |
5C |
CB |
FE |
18 |
E4 |
A5 |
02B0 |
21 |
B1 |
5C |
CB |
BE |
18 |
DD |
22 |
80 |
02B8 |
0A |
5B |
21 |
15 |
0B |
22 |
45 |
5B |
22 |
02C0 |
21 |
B1 |
5C |
CB |
EE |
C3 |
4D |
00 |
B9 |
02C8 |
DB |
7B |
AF |
CD |
01 |
16 |
AF |
11 |
73 |
02D0 |
12 |
5B |
CD |
0A |
0C |
DB |
FB |
C3 |
BB |
02D8 |
5D |
08 |
A0 |
16 |
01 |
00 |
45 |
4E |
89 |
02E0 |
54 |
45 |
52 |
2D |
41 |
43 |
43 |
45 |
06 |
02E8 |
50 |
54 |
2F |
53 |
50 |
41 |
43 |
45 |
29 |
02F0 |
2D |
4E |
45 |
58 |
54 |
20 |
12 |
01 |
91 |
02F8 |
45 |
50 |
53 |
4F |
4E |
20 |
20 |
12 |
D1 |
0300 |
80 |
00 |
F3 |
01 |
3A |
00 |
21 |
C8 |
9A |
0308 |
0A |
11 |
00 |
5B |
ED |
B0 |
C9 |
CD |
B4 |
0310 |
02 |
0B |
C3 |
00 |
5B |
7B |
21 |
B1 |
8B |
0318 |
5C |
CB |
AE |
F5 |
FD |
7E |
30 |
E6 |
76 |
0320 |
1F |
5F |
F1 |
FE |
00 |
28 |
28 |
FE |
DE |
0328 |
01 |
28 |
45 |
FE |
02 |
28 |
4A |
FE |
09 |
0330 |
03 |
28 |
4F |
FE |
04 |
28 |
54 |
FE |
29 |
0338 |
05 |
28 |
59 |
FE |
06 |
28 |
5E |
FE |
49 |
0340 |
53 |
28 |
63 |
FE |
50 |
28 |
6C |
21 |
24 |
0348 |
B1 |
5C |
CB |
AE |
C3 |
4D |
00 |
7B |
5C |
0350 |
FD |
77 |
30 |
CD |
02 |
0B |
21 |
6A |
5C |
0358 |
0B |
22 |
10 |
5B |
21 |
2D |
0C |
11 |
5E |
0360 |
30 |
5B |
01 |
06 |
00 |
ED |
B0 |
C3 |
55 |
0368 |
00 |
5B |
CD |
32 |
0D |
C3 |
8B |
0D |
2D |
0370 |
7B |
F6 |
20 |
FD |
77 |
30 |
C3 |
6C |
D7 |
0378 |
0C |
7B |
F6 |
40 |
FD |
77 |
30 |
C3 |
9F |
0380 |
9B |
0C |
7B |
F6 |
60 |
FD |
77 |
30 |
9F |
0390 |
30 |
C3 |
A0 |
0D |
7B |
F6 |
A0 |
FD |
41 |
0398 |
77 |
30 |
C3 |
E0 |
0D |
7B |
F6 |
C0 |
23 |
03A0 |
FD |
77 |
30 |
C3 |
FB |
0D |
21 |
B1 |
E4 |
03A8 |
5C |
CB |
F6 |
D3 |
FB |
CD |
5A |
0D |
CA |
03B0 |
C3 |
4D |
00 |
21 |
B1 |
5C |
CB |
B6 |
72 |
03B8 |
18 |
F3 |
7B |
E6 |
0F |
FE |
09 |
30 |
6D |
03C0 |
1A |
47 |
21 |
FA |
5B |
36 |
00 |
37 |
07 |
03C8 |
CB |
1E |
10 |
FB |
2A |
6C |
08 |
22 |
7F |
03D0 |
0A |
5B |
21 |
51 |
0A |
22 |
45 |
5B |
76 |
03D8 |
C3 |
4C |
0B |
3E |
08 |
18 |
E2 |
CD |
02 |
03E0 |
97 |
09 |
21 |
F0 |
0B |
11 |
28 |
5B |
33 |
03E8 |
01 |
3D |
00 |
ED |
B0 |
C3 |
43 |
0C |
D8 |
03F0 |
01 |
00 |
00 |
C5 |
C5 |
CD |
38 |
25 |
A8 |
03F8 |
CD |
F1 |
2B |
0D |
C1 |
20 |
10 |
FE |
E0 |
0400 |
20 |
38 |
0C |
FE |
60 |
20 |
04 |
3E |
28 |
0408 |
23 |
18 |
06 |
FE |
80 |
38 |
02 |
3E |
43 |
0410 |
20 |
CD |
13 |
5B |
04 |
78 |
FE |
20 |
09 |
0418 |
30 |
04 |
C1 |
47 |
18 |
D5 |
C1 |
3E |
44 |
0420 |
0D |
CD |
08 |
5B |
0C |
3E |
17 |
B9 |
7B |
0428 |
D8 |
06 |
00 |
18 |
C6 |
54 |
45 |
58 |
D9 |
0430 |
54 |
20 |
20 |
CD |
97 |
09 |
3E |
1B |
8E |
0438 |
32 |
45 |
5B |
3E |
03 |
32 |
70 |
5B |
4C |
0440 |
CD |
46 |
0C |
C3 |
00 |
5B |
01 |
0A |
8C |
0448 |
00 |
21 |
52 |
0C |
11 |
F0 |
5B |
ED |
14 |
0450 |
B0 |
C9 |
1B |
4C |
02 |
1B |
47 |
01 |
99 |
0458 |
00 |
1B |
4C |
03 |
3E |
47 |
32 |
F7 |
74 |
0460 |
5B |
3E |
00 |
32 |
F8 |
5B |
3E |
08 |
C8 |
0468 |
32 |
F9 |
5B |
C9 |
CD |
02 |
0B |
21 |
B6 |
0470 |
95 |
0C |
22 |
10 |
5B |
21 |
82 |
0C |
51 |
0478 |
11 |
30 |
5B |
01 |
07 |
00 |
ED |
B0 |
BD |
0480 |
18 |
C1 |
53 |
45 |
49 |
4B |
32 |
35 |
F0 |
0488 |
30 |
CD |
5C |
09 |
CD |
5C |
0C |
3E |
61 |
0490 |
1F |
32 |
BF |
5B |
C9 |
CD |
89 |
0C |
2A |
0498 |
C3 |
8B |
0D |
CD |
02 |
0B |
21 |
D0 |
C2 |
04A0 |
0C |
22 |
10 |
5B |
21 |
53 |
0D |
11 |
CF |
04A8 |
30 |
5B |
01 |
07 |
00 |
ED |
B0 |
18 |
F4 |
04B0 |
92 |
CD |
5C |
09 |
21 |
08 |
0F |
22 |
D2 |
04B8 |
F6 |
5B |
3E |
01 |
32 |
EC |
5B |
3E |
03 |
04C0 |
3E |
32 |
CB |
5B |
21 |
CB |
FF |
22 |
67 |
04C8 |
C3 |
5B |
3E |
1F |
32 |
BF |
5B |
C9 |
5C |
04D0 |
CD |
B1 |
0C |
18 |
C3 |
CD |
97 |
09 |
A6 |
04D8 |
3E |
1B |
32 |
45 |
5B |
21 |
52 |
01 |
7B |
04E0 |
22 |
6F |
5B |
21 |
51 |
01 |
22 |
2D |
92 |
04E8 |
5B |
3E |
07 |
32 |
35 |
5B |
21 |
CB |
3A |
04F0 |
1B |
22 |
4E |
5B |
21 |
CB |
FB |
22 |
E3 |
04F8 |
50 |
5B |
21 |
08 |
0F |
22 |
F3 |
5B |
4F |
0500 |
18 |
AD |
14 |
07 |
D6 |
04 |
8C |
03 |
4E |
0508 |
C0 |
01 |
D8 |
00 |
6D |
00 |
33 |
00 |
46 |
0510 |
17 |
00 |
0A |
00 |
FD |
7E |
76 |
FE |
25 |
0518 |
0A |
D4 |
50 |
0D |
FE |
00 |
CC |
50 |
72 |
0520 |
0D |
3D |
87 |
4F |
06 |
00 |
21 |
02 |
6E |
0528 |
0D |
09 |
5E |
23 |
56 |
ED |
53 |
FC |
56 |
0530 |
5B |
C9 |
CD |
5C |
09 |
21 |
06 |
01 |
B3 |
0538 |
22 |
B6 |
5B |
3E |
C3 |
32 |
B8 |
5B |
B6 |
0540 |
21 |
39 |
5B |
22 |
B9 |
5B |
3E |
C9 |
37 |
0548 |
32 |
E7 |
5B |
C9 |
A7 |
DB |
7B |
FB |
82 |
0550 |
3E |
06 |
C9 |
53 |
45 |
49 |
4B |
31 |
BF |
0558 |
30 |
30 |
FD |
7E |
30 |
E6 |
E0 |
FE |
2C |
0560 |
00 |
CA |
32 |
0D |
FE |
20 |
CA |
89 |
DF |
0568 |
0C |
FE |
40 |
CA |
B1 |
0C |
FE |
60 |
9C |
0570 |
CA |
5C |
09 |
FE |
80 |
CA |
5C |
09 |
51 |
0578 |
FE |
A0 |
CA |
5C |
09 |
FE |
C0 |
CA |
D2 |
0580 |
12 |
0E |
CD |
5C |
09 |
3E |
18 |
32 |
5F |
0588 |
0A |
5B |
C9 |
21 |
FA |
5B |
36 |
00 |
67 |
0590 |
2A |
5D |
5C |
ED |
5B |
59 |
5C |
A7 |
1C |
0598 |
ED |
52 |
DA |
4D |
00 |
C3 |
C1 |
0E |
95 |
05A8 |
5B |
01 |
05 |
00 |
ED |
B0 |
18 |
5F |
22 |
05B0 |
CD |
97 |
09 |
21 |
00 |
02 |
22 |
F5 |
5C |
05B8 |
5B |
3E |
04 |
32 |
35 |
5B |
3E |
F5 |
4F |
05C0 |
32 |
43 |
5B |
3E |
F1 |
32 |
46 |
5B |
97 |
05C8 |
21 |
CB |
13 |
22 |
47 |
5B |
3E |
CD |
9B |
05D0 |
32 |
56 |
5B |
21 |
13 |
5B |
22 |
57 |
C0 |
05D8 |
5B |
18 |
34 |
57 |
4D |
20 |
38 |
30 |
B0 |
05E0 |
CD |
02 |
0B |
3E |
3E |
32 |
35 |
5B |
FD |
05F0 |
32 |
F6 |
5B |
3E |
32 |
32 |
F8 |
5B |
6D |
05F8 |
C3 |
00 |
5B |
CD |
02 |
0B |
21 |
32 |
48 |
0600 |
08 |
22 |
10 |
5B |
21 |
27 |
08 |
11 |
FC |
0608 |
30 |
5B |
01 |
0A |
00 |
ED |
B0 |
C3 |
04 |
0610 |
00 |
5B |
CD |
5C |
09 |
21 |
21 |
0E |
F3 |
0618 |
11 |
A9 |
5B |
01 |
2E |
00 |
ED |
B0 |
FF |
0620 |
C9 |
21 |
B3 |
5B |
D6 |
80 |
85 |
6F |
68 |
0628 |
7E |
18 |
10 |
80 |
82 |
81 |
83 |
88 |
62 |
0630 |
8A |
89 |
8B |
84 |
86 |
85 |
87 |
8C |
76 |
0638 |
8E |
8D |
8F |
CD |
6E |
5B |
C9 |
CD |
14 |
0640 |
97 |
09 |
CD |
47 |
0E |
18 |
C8 |
21 |
09 |
0648 |
53 |
0E |
11 |
28 |
5B |
01 |
66 |
00 |
AA |
0650 |
ED |
B0 |
C9 |
21 |
88 |
5B |
CD |
6D |
FA |
0658 |
5B |
01 |
FF |
00 |
C5 |
16 |
03 |
CD |
64 |
0660 |
77 |
5B |
04 |
CD |
77 |
5B |
05 |
0D |
ED |
0668 |
15 |
20 |
F4 |
37 |
CB |
1B |
37 |
CB |
B6 |
0670 |
1B |
7B |
FE |
E0 |
30 |
02 |
CB |
B7 |
9E |
0678 |
CD |
13 |
5B |
04 |
04 |
78 |
FE |
B0 |
E7 |
0680 |
28 |
04 |
C1 |
47 |
18 |
D6 |
D1 |
3E |
B7 |
0688 |
0D |
CD |
08 |
5B |
3E |
00 |
B9 |
28 |
EA |
0690 |
04 |
AF |
47 |
18 |
C7 |
21 |
8B |
5B |
76 |
0698 |
06 |
03 |
7E |
CD |
13 |
5B |
23 |
10 |
93 |
06A0 |
F9 |
C9 |
C5 |
D5 |
78 |
CD |
B0 |
22 |
19 |
06A8 |
D1 |
47 |
04 |
7E |
07 |
10 |
FD |
CB |
27 |
06B0 |
1B |
C1 |
C9 |
1B |
38 |
1D |
1E |
1B |
04 |
06B8 |
36 |
7E |
CD |
13 |
5B |
23 |
10 |
F9 |
D9 |
06C0 |
C9 |
FD |
7E |
30 |
06 |
05 |
CB |
3F |
4F |
06C8 |
10 |
FC |
3C |
5F |
FE |
07 |
30 |
16 |
C0 |
06D0 |
CD |
F0 |
0E |
01 |
FE |
7F |
ED |
78 |
84 |
06D8 |
1F |
30 |
0F |
01 |
FE |
BF |
ED |
78 |
5F |
06E0 |
1F |
38 |
F0 |
C3 |
4D |
00 |
1E |
00 |
5B |
06E8 |
18 |
E6 |
CD |
F0 |
0E |
C3 |
15 |
0B |
9A |
06F0 |
21 |
FF |
FF |
2B |
7D |
B4 |
20 |
FB |
8C |
06F8 |
C9 |
3E |
7F |
DB |
FE |
1F |
D8 |
3E |
92 |
0700 |
FE |
DB |
FE |
1F |
C9 |
00 |
00 |
00 |
C6 |
0708 |
00 |
00 |
00 |
00 |
DB |
FB |
87 |
F3 |
5F |
0710 |
E1 |
E5 |
3E |
0E |
BC |
20 |
62 |
3E |
A5 |
0718 |
B7 |
BD |
20 |
5D |
C1 |
C1 |
E1 |
CD |
40 |
0720 |
70 |
09 |
FD |
7E |
30 |
E6 |
E0 |
FE |
0F |
0728 |
00 |
CA |
DF |
0B |
FE |
20 |
CA |
33 |
FE |
0730 |
0C |
FE |
40 |
CA |
D5 |
0C |
FE |
60 |
8A |
0738 |
CA |
05 |
08 |
FE |
80 |
CA |
B0 |
0D |
1B |
0740 |
FE |
A0 |
CA |
EB |
0D |
FE |
C0 |
CA |
2F |
0748 |
3F |
0E |
FD |
7E |
30 |
E6 |
1F |
4F |
9B |
0750 |
3A |
FE |
5B |
E6 |
E0 |
A9 |
FD |
77 |
CD |
0758 |
30 |
C3 |
AD |
0B |
7A |
F5 |
21 |
B1 |
4B |
0760 |
5C |
CB |
6E |
CC |
5A |
0D |
FD |
7E |
AA |
0768 |
45 |
FE |
21 |
20 |
05 |
3E |
50 |
FD |
83 |
0770 |
77 |
45 |
CD |
14 |
0D |
F1 |
C3 |
00 |
D5 |
0778 |
5B |
2A |
4F |
5C |
0E |
0F |
06 |
00 |
D2 |
0780 |
09 |
4E |
23 |
46 |
21 |
FC |
0E |
ED |
5F |
0788 |
42 |
28 |
D1 |
FD |
7E |
30 |
E6 |
1F |
7A |
0790 |
FD |
77 |
30 |
21 |
B1 |
5C |
36 |
00 |
9F |
0798 |
CD |
5A |
0D |
FD |
CB |
30 |
8E |
3E |
97 |
07A0 |
50 |
FD |
77 |
45 |
AF |
32 |
FA |
5B |
E6 |
07A8 |
C1 |
C1 |
C1 |
C1 |
C1 |
3E |
0D |
FD |
BC |
07B0 |
36 |
76 |
06 |
F5 |
CD |
14 |
0D |
F1 |
3D |
07B8 |
C3 |
4D |
00 |
C5 |
E5 |
F5 |
EE |
FF |
5B |
07C0 |
F5 |
CD |
F9 |
0E |
D2 |
4C |
05 |
DB |
8E |
07C8 |
FB |
CB |
77 |
28 |
F4 |
06 |
08 |
3E |
74 |
07D0 |
FF |
D3 |
FB |
F1 |
CD |
EE |
0F |
CB |
2A |
07D8 |
0F |
D3 |
FB |
10 |
F7 |
CD |
EE |
0F |
8D |
07E0 |
3E |
00 |
D3 |
FB |
CD |
EE |
0F |
CD |
8A |
07E8 |
EE |
0F |
F1 |
E1 |
C1 |
C9 |
F5 |
2A |
67 |
07F0 |
FC |
5B |
2B |
7C |
B5 |
20 |
FB |
F1 |
B6 |
07F8 |
C9 |
C9 |
00 |
00 |
00 |
00 |
00 |
D8 |
69 |
0800 |
00 |
00 |
00 |
08 |
|
|
|
|
|