Ваш новый «Блокнот»
Возможности, предоставляемые языками высокого уровня - Бейсиком, Фокалом или им подобными, бесспорно велики, но всё же, чтобы полностью использовать ресурсы собственного компьютера, нельзя обойтись без программ в машинных кодах.
Так, с помощью Фокала автору помещённой ниже программы удалось разместить в памяти БК лишь 1,5 страницы машинописного текста. Программа в кодах, о которой пойдёт речь, позволяет разместить в том же ОЗУ чуть больше семи страниц машинописного текста.
Программа «Блокнот» позволяет произвольно размещать информацию на плоскости экрана, с её помощью можно совмещать в одном изображении текст, таблицы, рисунки или чертежи. Можно автоматически переключать режимы работы клавиатуры (русский и латинский регистры, строчные и прописные литеры, инверсию строки, подчёркивание, графика и псевдографика).
Программу вводят в режиме отладки начиная с адреса 1000. Блок записи информации располагается в интервале с 1000 по 1101, блок чтения - с 1032 по 1101. Остальная область ОЗУ (это 36675 байт) отводится под информацию пользователя, т.е. под то, чем будет заполняться электронный блокнот. После ввода управление передаётся на 1000 адрес, если предстоит запись информации в ОЗУ, или на адрес 1032, если необходимо вводить информацию с магнитофона или с клавиатуры. Чтобы можно было очищать экран в процессе записи информации, используют клавишу СБР. При этом введённые данные сохраняются в памяти машины, после чего можно продолжать ввод данных. По окончании записи необходимо нажать клавишу «&», - машина напечатает цифру (соответствующую длине созданного файла) и передаст управление в режим отладки. Из режима отладки можно записать файл с программой на магнитную ленту.
Аналогично происходит и вывод информации из ОЗУ на экран. Каждая следующая порция данных выводится на экран после нажатия любой клавиши. В конце файла программа автоматически возвращается к его началу.
12704 |
162704 |
176616 |
176576 |
1102 |
1032 |
112400 |
1774 |
104006 |
4367 |
110005 |
104016 |
104016 |
162170 |
162705 |
16705 |
110024 |
0 |
14 |
176570 |
162700 |
12704 |
1004 |
162700 |
46 |
1102 |
132767 |
46 |
1372 |
5067 |
200 |
1361 |
|
|
|
754 |
Рис. 1 (тут коды читаются в столбик, сверху вниз слева направо)
Программа (рис. 1) отличается простотой, есть много гораздо более сложных программ аналогичного рода, которые обеспечивают широкий набор дополнительных возможностей - редактирование, форматирование текста, поиск контекста, автоматический вывод данных на магнитную ленту.
Несмотря на простоту, программу можно использовать не только как игрушку для детей - своего рода электронный карандаш, но и, например, как демонстрационное пособие для лекторов, использующих в своей работе табличный материал
Н. СОКОЛОВ, Москва
Маленькие хитрости
Встретив в операторе символ «?», интерпретатор Фокала начинает с этого момента выводить на экран все исполняемые операторы. Это свойство удобно использовать для отладки программ. Достаточно запустить программу командой G? - и на экране будет отображаться вся работа программы. С помощью этой команды удобно разбираться в работе чужих программ. ? - удобнее, чем даже команда TRON в Бейсике.
А. Мелентьев, г. Огре, ЛатвССР
Часто служебная строка бывает ненужной. На БК-0010.01 её нетрудно убрать, если, удерживая нажатыми клавиши АР2 и «Нижний регистр», последовательно нажать 4, 5, 5. Строка исчезнет, но вместе с курсором. Не отпуская первые две клавиши, нажимаем 1, и курсор появляется. Вернуться обратно ещё проще. Для этого можно воспользоваться командой NEW, но это лишь в том случае, если программа, которая сейчас записана в памяти, больше не нужна, или нажать АР2, «Нижний регистр» и дважды клавишу 5.
П. Лучка, г. Кировск
Старая лента для импортного принтера перестала оставлять следы на бумаге, а новую взять негде? Выйти из положения поможет копирка. Кассету со старой лентой вынимают, а вместо одного листа бумаги в принтер закладывают лист бумаги с наложенной на него копиркой, красящим слоем к бумаге. Одновременно можно печатать до трёх экземпляров текста - изображение на первом экземпляре получается весьма качественным.
Б. Алексеев, Москва
Если вам надоело каждый раз вспоминать адрес запуска программы в машинных кодах, её можно снабдить автозапуском. Вот последовательность действий. Из режима ТС считайте программу и, набрав 760АЩ, повторите четыре раза адрес пуска программы, разделяя один от другого запятыми. Остаётся нажать букву И, и можно записывать программу на магнитофон. На запрос машины АДРЕС - нужно ответить 760, а исходную длину программы увеличивают на 20(8) байт. При чтении из монитора, такая программа запустится автоматически, так как после чтения БК выполнит команду возврата управления, а мы подменили адрес возврата на адрес пуска нашей программы.
Д. Жалнин, Москва
Где взять программы для БК?
Этот вопрос самый волнующий для большинства владельцев БК: ведь компьютер без программ - не более чем пластмассовая коробка с клавишами. А ответить на этот вопрос не так-то просто - в магазинах, даже в фирменных салонах «Электроника» приобрести программы пока что невозможно. Пытаются торговать кассетами, где вместо музыки записаны программы для БК, недавно созданные центры информатики, но, как свидетельствуют те, кто решился приобрести эти кассеты, программы оказались не очень интересными. К тому же на кассете записан целый набор программ, а записать какую-то одну, действительно необходимую программу отдельно просто невозможно. Как мне сообщили в одном из московских центров информатики, соответствующих расценок нет и программы продают по цене кассеты с записью речи оратора. Да и получают кассеты уже записанными. Оставив неповоротливость государственной торговли на совести соответствующих ведомств, поговорим о путях приобретения программ, которыми можно воспользоваться сегодня.
Итак, где же взять программы для «Электроники БК»? Несмотря на неутешительное начало статьи, программы для БК существуют, их уже около тысячи, а значит, они должны быть доступны каждому владельцу БК. Вот три проверенных способа получения интересующей программы.
Первый - воспользоваться услугами кооперативов, специализирующихся на платном тиражировании программ. Этот способ не требует от владельца БК почти никаких усилий, но связан с материальными расходами. Достаточно запросить кооператив, и в ответ на такой запрос будет выслан каталог программ, которые можно заказать в данном кооперативе. В каталоге обычно содержатся краткие аннотации на каждую программу. Выбранные заказчиком программы в кооперативе запишут на магнитофонную кассету и вышлют наложенным платежом, независимо от того, где живёт владелец компьютера, сделавший заказ. Этот способ, пожалуй, самый надёжный - кооператив обычно гарантирует качество своей продукции. О ценах. Наиболее высокие цены - в кооперативах, которые заключают договоры с авторами всех тиражируемых программ. В этом случае автор гарантирует качество своей программы и продаёт кооперативу разрешение на её тиражирование, причём автору выплачивается часть прибыли. Есть и другие «фирмы», которые торгуют тем, что удалось добыть, разумеется, без ведома автора. Цены в таком «пиратском» кооперативе, конечно, ниже, но и гарантий - никаких. Итак, два проверенных адреса для тех, кто заинтересовался надёжным способом приобретения программ: 167024, Сыктывкар, а/я 430, кооператив БИС (быт - информатика - сервис), СТП, (служба тиражирования программ). Об этом кооперативе знают уже многие - он появился одним из первых и обладает, пожалуй, самым обширным банком тиражируемых программ: игровых и системных. Основная продукция второго кооператива - прикладные программы, причём самые разнообразные, впрочем, и здесь есть системные и игровые программы, а вот адрес: Одесса, а/я 25, «Конструктор».
И снова о ценах. В БИС они колеблются от 1 до 21 рубля за программу, в «Конструкторе» самая высокая цена - 15 рублей. Для сравнения - программа для зарубежного компьютера аналогичного класса может стоить примерно в два раза дешевле... компьютера. И всё же приобретение программ за деньги не единственный способ их получения.
Второй вариант - обмен программами. Он сделался обычным явлением в Московском клубе пользователей БК. В нём может принять участие каждый желающий, даже если ему нечего предложить взамен. Обмен программами для БК обычно происходит в Доме культуры завода Владимира Ильича (адрес мы сообщили в прошлом номере).
Есть и третий способ, быть может, не столь быстрый, как первые два, но довольно надёжный и также не требующий расходов. Каждый поклонник БК может вступить во всесоюзный заочный клуб по переписке «Контакт», созданный при редакции журнала «Наука и жизнь». Вступив в него, новый член клуба получит адреса нескольких корреспондентов из других городов и сможет наладить с ними не только переписку, но и обмен имеющимся программным обеспечением. Чем больше пользователей БК вступят в такую переписку, тем быстрее любая вновь созданная программа будет превращаться в общедоступную.
Безусловно, есть и другие способы, однако те, о которых шла речь, все были проверены автором, а потому любым из них можно тотчас же воспользоваться.
Б. АЛЕКСИН, Москва
Программная орбита
- ТЕННИС (В. Савин, Москва). Машинные коды. Игровая программа с автозапуском. На экране - перспективное изображение теннисного стола и двух ракеток. БК выступает в роли соперника. Класс игры соперника можно регулировать. Прекрасное графическое и звуковое оформление позволяет назвать эту программу в числе девяти лучших игровых программ для БК.
- FORTH-83 (А. Ефимов, Д. Довженко, Ленинград). Машинные коды. Язык программирования ФОРТ-83, версия ПЗУ и ОЗУ 8 килобайт. В отличие от описанной в журнале «Наука и жизнь» (1988, № 6) эта версия характеризуется меньшим объёмом словаря, но дополнена операторами поддержки графики, дисплея и магнитофона. (Кстати, вышло первое отечественное пособие по языку: Баранов С.Н., Ноздрунов Н. Р. Язык Форт и его реализации. Л.: Машиностроение, 1988.)
- КУРЬЕР (А. Водениктов). Машинные коды. Игровая программа - путешествие пингвинчика, которым управляет игрок. Пингвинчик может ловить рыбу, при этом он должен перепрыгивать через полыньи и огибать те из них, откуда неожиданно появляется морж. Игра оформлена цветной графикой и разнообразными звуковыми эффектами.
- ФОНД (Г. Прис и другие). Машинные коды, 4.5 килобайта. Это дополнение к интерпретатору Фокала, позволяющее увеличить скорость и повысить точность вычислений, а также обращаться к подпрограммам, составленным на Фокале или в машинных кодах. Существуют подпрограммы вывода текста с увеличением размера символов, интегрирования, решения систем уравнений, графического редактора, исполнения мелодии, построения окружности и другие.
- РАЛЛИ (В. Савин, Москва). Машинные коды. Игровая программа с автозапуском. На экране формируется вид сверху на трассу автогонок, изображение машины, которой управляет игрок, имитируется звук двигателя. Управляя акселератором и положением машины на трассе, необходимо максимально быстро пройти дистанцию.
Обмен опытом
Известно, что клавиатуры БК-0010 и БК-0010.01 различаются расположением клавиш. Играть в некоторые игры, рассчитанные на БК-0010, становится неудобно. В то же время адаптировать игру для новой машины совсем несложно, вот пример того, как это делается. Чтобы игра «Видеоспорт» стала удобной для БК-0010.01, необходимо загрузить её в компьютер и заменить содержимое двух ячеек памяти: по адресу 1464 поставить код клавиши, которая будет соответствовать движению вверх, например 32. По адресу 1512 ставят код «движение вниз», например 33. Вводят коды после знака денежной единицы:
¤1464А-,32,(ВВОД)
А. ПИЛИН, А. КАЗАН,
Ленинград
На клавиатуре БК-0010 кроме клавиш, обозначенных буквами и цифрами, есть десять функциональных клавиш - ключей. Нажав одновременно HP и любую из К1-К10, можно извлечь из памяти текст ключа, например какую-нибудь из часто употребляющихся команд Фокала. Программа FUNCKEY предназначена для того, чтобы запрограммировать девять ключей. Программу вводят в БК с адреса 1000, а запускают с адреса 1206 командой G. Каждой клавише будет поставлена в соответствие одна команда из таблицы, а управление перейдёт к Фокалу.
53406 |
44522 |
42524 |
20040 |
20040 |
20040 |
20040 |
20040 |
42406 |
40522 |
42523 |
20040 |
20040 |
20040 |
20040 |
20040 |
46407 |
42117 |
43111 |
20131 |
20040 |
20040 |
20040 |
20040 |
43405 |
52117 |
20117 |
20040 |
20040 |
20040 |
20040 |
20040 |
46014 |
41111 |
40522 |
54522 |
43440 |
52105 |
20040 |
20040 |
46014 |
41111 |
40522 |
54522 |
51440 |
52105 |
20040 |
20040 |
46016 |
41111 |
40522 |
54522 |
44440 |
50116 |
52125 |
20040 |
46017 |
41111 |
40522 |
54522 |
47440 |
52125 |
52520 |
20124 |
44004 |
46105 |
1120 |
5002 |
12701 |
1000 |
5202 |
10200 |
104013 |
62701 |
20 |
22702 |
11 |
1370 |
137 |
120000 |
|
Ключ |
Команда и её назначение |
---|---|---|
К1 |
WRITE |
- выводит на экран текст программы |
К2 |
ERASE |
- очищает память от программы, переменных, или от того и другого |
КЗ |
MODIFY |
- позволяет редактировать выбранную строку |
К4 |
GOTO |
- запускает программу на выполнение |
К5 |
LIBRARY GET |
- загружает программу с магнитофона |
Кб |
LIBRARY SET |
- записывает программу на магнитофон |
К7 |
LIBRARY INPUT |
- считывает файл с магнитофона |
К8 |
LIBRARY OUTPUT |
- записывает файл на магнитофон |
К9 |
HELP |
- выводит на экран список команд и функций Фокала |
А. ШЕЛОМАНОВ,
г. Жуковский (Московская обл.)