Русификация ZX Spectrum — Страница 5

26 марта 2023 | 1:41

Журналы Периодика Журналы Joshua 5, Компьютерный журнал №1 1992 год

Joshua 5, Компьютерный журнал №1 1992 год — Русификация ZX Spectrum

Страница 5 из 8

Русификация ZX Spectrum.

Любой человек, имеющий компьютер, не может долго устоять перед искушением попробовать себя в программировании. Но тут перед ним возникает историческое препятствие. В то время, как большинство стран-производителей вычислительной техники используют латинский алфавит, отечественные компьютеры работают на кириллице. Разумеется, было бы несправедливо требовать от разработчиков Sinclair ZX Spectrum вложения в ПЗУ ещё и русского символьного набора.

Конечно, существуют многочисленные версии русифицированной базовой модели. Широко распространены «Дельта», «Спектр» и другие ZX-coвместимые модели, где в ПЗУ встроены латинский и русский символьные наборы. Но, как правило, в таких машинах нарушены требования программной совместимости.

Всегда найдется такая «хитрая» программа, которая или просто «не пойдёт», или, проверив компьютер и обнаружив хоть малейшее несоответствие с базовой моделью, немедленно сбросится.

Так что же остается делать пользователю ZX Spectrum? Изучать иностранные языки? Вовсе не обязательно. Этот компьютер очень «дружественный» и позволяет вам применять любые алфавиты, вплоть до вавилонской клинописи.

Образцы символов по стандарту ASCII (American Standart Code) хранятся в постоянной памяти и расположены с адреса 15616. Их длина — 768 байт (96 символов по 8 байт каждый). Поменять написание этих символов, т.е. оперативно изменить ПЗУ, мы не в силах. Существует ещё, так называемая, графика пользователя (21 символ), находящаяся в оперативной памяти, но для русского алфавита этого явно маловато.

Если не принимать во внимание буквы с одинаковым написанием, как А или Р, а в графике пользователя разместить символы, подобные Ю, Щ, Я, всё равно будет очень неудобно постоянно входить в графический режим при вводе русского текста.

Более простым выходом является смена всего символьного набора. Для этого существует три способа:

1. Нарисовать символьный набор на бумаге, используя матрицу 8 на 8 точек. При этом оставляется хотя бы по одному свободному ряду точек справа (слева) и сверху (снизу), чтобы символы в тексте не сливались. Затем надо перевести символы в коды конструкцией DATA -READ. Подробнее о кодировке символов говорится в руководстве по эксплуатации. Программа может выглядеть так:

10 CLEAR 39999: FOR F=l ТО 768

20 READ N : POKE 39999+F,N : NEXT F

30 DATA

Эта программа переведёт символьный набор из строк DATA в оперативную память с адреса 40000. Можно взять и любой другой адрес. В строках DATA должно находиться 768 двоичных (через BIN) или десятичных чисел, описывающих ваш набор. Выгрузить его на ленту можно командой:

SAVE «имя» CODE 40000,768

Создать файл символьного набора при помощи редактора шрифтов. Например, графический редактор «ART-STUDIO» даёт отличную возможность создавать и редактировать шрифты.

Использовать готовый набор шрифтов, «вытащенных» из фирменных программ.

Теперь загружайте записанный на ленту набор символов по любому, удобному для вас адресу. Не забудьте командой CLEAR выставить системную переменную RAMTOP, разделяющую программу на Бейсике и область кодов, чтобы новый шрифт не был испорчен. Например:

10 CLEAR 39999

20 LOAD «» CODE 40000

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

— 0
— 60

Проверим:

60*256+0=15360
15360+256=15616

т.е. адрес символьного набора ПЗУ. Рассчитаем содержимое ячеек для нового набора:

40000-256=39744

Это — адрес, на который должны указывать ячейки.

39744 / 256 = 155.25

отбросив дробную часть, получаем 155, т.е. содержимое ячейки 23607.

39744 — 155 * 256 = 64

содержимое ячейки 23606. Теперь выполните:

РОКЕ 23606,64

РОКЕ 23607,155

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

Удобство этого метода в том, что вы можете использовать шрифт любой конфигурации. В оперативной памяти может находиться одновременно несколько шрифтов, которые вы сможете включать по необходимости. Если вы хотите создать двуязычную программу, например, словарь, используя лишь один символьный набор, чтобы избежать постоянных переключений, можно пожертвовать прописными символами и создать двуязычный набор по стандарту КОИ-7, т.е. на месте прописных букв — прописные латинские, а на месте строчных — прописные русские.

Кроме того, в символьном наборе можно зашифровать элементы небольшой картинки, а в программе сделать переключение на начало элементов такой картинки, «нарисовать» ее при помощи операторов PRINT и AT, а затем вернуться обратно в используемый шрифт.

Во время составления своего алфавита вы вольны присваивать любой клавише значение любого символа, но, всё же, русифицируя свой компьютер, чтобы избежать путаницы, советуем придерживаться объединения стандартов ASCII и КОИ-7.

М. Разводовский

  • << Назад
  • Вперёд >>
  • Joshua 5, Компьютерный журнал №1 1992 год
  • Тетрис
  • Хэккеры
  • Компьютер и телевизор
  • Русификация ZX Spectrum
  • Избавиться от точек
  • Elite
  • Budokan
  • Все страницы