Что и как подключать к БК0010-01
Ко мне как к одному из первых пользователей БК часто обращаются с вопросами: "Какой выбрать дисковод? Как подсоединить дисковод? Какой принтер лучше и какой текстовый редактор обеспечивает выход на принтер? Как расширить память компьютера? Как повысить качество записи файлов на магнитофон? Как обеспечить автоматический поиск файлов на магнитофоне? и т.д. Вполне естественно, что такие вопросы возникают, поскольку возможности компьютера БК 0010-01 весьма ограниченны (прежде всего, мала его оперативная память), да и работа с магнитофоном для многих не слишком привлекательна.
Часто те, кто "перерос" возможности БК, докупают другой, более мощный компьютер. Однако не все так поступают: одному замена не по карману (затраты увеличиваются более чем на порядок), другой не желает расставаться со своей первой любовью и с тем огромным пакетом программ, который наработан для БК (более двух тысяч программ, в том числе более пятисот - игровые). Да и достоинств у БК хватает. Некоторые, даже купив другой компьютер, оставляют у себя "Бэкашку".
Итак, попытаюсь ответить на поставленные вопросы.
ВЫБОР ПРИНТЕРА И РЕДАКТОРА ТЕКСТА
Проще всего ответить на вопрос о принтере, поскольку назначение его большинству пользователей известно. Это вывод на печать текстов, рисунков и графиков. Но далеко не все знают, что даже простейшие современные принтеры, как правило, имеют несколько шрифтов. С их помощью можно оформлять не только рукописи, но и различные бланки.
В настоящее время в магазинах появилось несколько типов матричных принтеров, т.е. выбор есть, правда, не слишком широкий. К БК можно подключить почти любой принтер с параллельным интерфейсом ("Электронику МС 6312", "Электронику МС 6313", Robotron СМ 6329, D-100M, Epson LX-800 и др.), причём это не вызывает проблем. Схемы таких подключений неоднократно были опубликованы и описаны в некоторых программах для БК. Более опытные пользователи могут сами составить схему подключения, воспользовавшись документацией на принтер и компьютер.
Самый дешёвый - термоструйный принтер "Электроника МС 6312" со сменными головками. На мой взгляд, он и этих денег не стоит: слишком низко качество печати, причём оно зависит от качества не только головки, но и бумаги; неудачен набор шрифтов; неудобна заправка бумаги; невозможна печать нескольких копий одновременно. В то же время этот почти бесшумный и малогабаритный принтер может пригодиться тому, для кого отмеченные недостатки не являются существенными. К тому же на этом принтере получаются неплохие рисунки - более изящные, чем на игольчатых принтерах.
Качественную распечатку (очень похожую на стандартный машинописный текст) и широкий выбор шрифтов обеспечивает игольчатый принтер "Электроника МС 6313". Но он и стоит примерно в 1,5 раза дороже, тяжёл, громоздок, и, кроме того, неудобен при заправке бумаги.
Меньшие массу и размеры имеет принтер Robotron СМ 6329 (Германия). Бумагу в него заправлять легко. Широк его набор шрифтов, но по качеству печати в режиме HIQ (режим качественной печати) он несколько уступает "Электронике МС 6313". Некоторым понравится, что в этом принтере можно использовать ленту от пишущих машинок. Стоимость его близка к стоимости "Электроники МС 6313".
Принтер D-100M (Польша) по своим параметрам близок к принтеру Robotron СМ 6329, но имеет меньшие размеры (он более плоский).
Принтер Epson LX-800 (Япония) по сравнению с рассмотренными выше стоит ещё дороже (примерно в 1,5 - 2 раза дороже "Электроники МС 6313"), но имеет малые массу и размеры. Заправка бумаги в нем удобная, имеется встроенная кириллица, обеспечивается высокое качество печати. В отличие от принтера Robotron СМ 6329 принтер Epson LX-800 не обеспечивает печать непосредственно по верхнему краю бумаги, что бывает необходимо в некоторых случаях.
Наилучшим текстовым редактором для БК, на мой взгляд, продолжает оставаться EDASP 10. Однако для того, чтобы в полной мере использовать возможности принтеров (выделять части текста разными шрифтами или их комбинацией, изменять расстояния между строками в тексте и число символов в строке), в его драйвер необходимо ввести соответствующие управляющие коды. Эти коды для разных принтеров отличаются друг от друга, поэтому их драйверы различны. Редактор с введёнными в него управляющими кодами желающие могут получить у автора статьи. Кстати, группой МВИ (см. сноску на с.8) для БК созданы редакторы текстов EDIV/MVI и EDAR/MVI, позволяющие работать на иврите и арабском языке соответственно.
РАСШИРЕНИЕ ПАМЯТИ
Конечно, память у БК очень мала, но это ещё не значит, что её обязательно нужно увеличить. Расширять память БК следует только тем, кто сам программирует и знает, как он может эту дополнительную память использовать. Для подавляющего большинства владельцев БК, которые пользуются готовыми программами, увеличение ёмкости ОЗУ не даст дополнительных преимуществ, потому что программы, рассчитанные на расширенное ОЗУ, не будут иметь массового хождения. Это показывает и зарубежный опыт (см. мою статью в первом номере "Байтика" за 1991 г., с.4 (Прим.gid: Обзорная статья о разных компьютерах, к БК не имеет отношения, потому и не распознавалась.)). Даже бытовые компьютеры ведущих фирм с расширенным ОЗУ (Atari 130 ХЕ, ZX Spectrum 128, Commodore 128 и др.) не были обеспечены в достаточной мере соответствующими программами и не получили широкого распространения.
Однако если будет налажен массовый выпуск компьютеров БК 0011М (что маловероятно, поскольку завод. по моему мнению, пропустил свой звёздный час), то продлить жизнь БК 0010-01 можно будет увеличением ёмкости его ОЗУ, поскольку это обеспечит совместимость программ указанных компьютеров.
ПОВЫШЕНИЕ КАЧЕСТВА ЗАПИСИ
Почти все владельцы компьютера БК столкнулись с проблемой считывания программ с магнитофона. Большинство самостоятельно или с помощью более опытных пользователей довольно быстро справились с ней. Но некоторым так и не удалось добиться хороших результатов. Среди этих людей нашлись программисты, которые видоизменили драйвер магнитофона, введя фазоимпульсную модуляцию сигнала. По их мнению, им удалось повысить надёжность считывания программы почти в 20 раз.
Я же сошлюсь на свой опыт. В моем архиве имеется более пяти тысяч файлов, записанных на магнитную ленту в обычном режиме. Часть этих файлов хранится не менее пяти лет, и за это время был утрачен лишь один файл, из-за того, что со старой магнитной ленты производства фирмы Magna (Германия) осыпался магнитный слой. Остальные мои файлы хранятся на лентах фирм Sony, Denon, TDK, BASF и др. Запись я произвожу на магнитофоне "Яуза-220". Так что собственный опыт позволяет мне усомниться в необходимости такого сложного пути для решения простой проблемы. В то же время полезность программной доработки драйвера магнитофона не вызывает сомнения, поскольку работа эта носит познавательный характер и расширяет знания о компьютере и о возможностях программирования.
Тем же, кому до сих пор не удалось добиться надёжного считывания программ, напоминаю, что программы следует записывать на хорошую новую магнитную ленту на хорошем магнитофоне. Желательно даже иметь два магнитофона: один - для записи, другой - для считывания. Это обеспечит не только удобства, но и высокое качество записи. И всегда соблюдайте правила эксплуатации магнитофонов и магнитных лент! Не поленитесь раз и навсегда подобрать на магнитофоне оптимальные уровни сигналов записи и считывания!
АВТОМАТИЧЕСКОЕ УПРАВЛЕНИЕ МАГНИТОФОНОМ
У многих пользователей поиск нужного файла на кассете вызывает раздражение, поэтому у них возникает вполне естественное желание автоматизировать этот процесс. И соответствующие разработки появились. Суть их состоит в следующем: магнитофон дорабатывается и снабжается автоматическим блоком управления, похожим на блок управления магнитофоном "Вега МП-102". Стоимость такого блока, изготовленного в кустарных условиях, составит не менее 1000 руб. В ПЗУ БК после его доработки записывается специальная программа управления магнитофоном, дополняющая имеющийся драйвер магнитофона (в противном случае такая программа должна загружаться с магнитофона каждый раз). В начало кассеты записывается каталог. После вызова программы управления магнитофоном из ПЗУ или её загрузки с кассеты загружается каталог, из которого может быть выбран требуемый файл. Магнитофон автоматически включает кассету на перемотку, в нужном месте её останавливает и начинает загружать выбранный файл.
Возможно, что в каких-то специальных случаях такая автоматизация будет оправдана. Однако большинству пользователей дешевле и проще использовать хороший магнитофон с механическим счётчиком и аккуратно вести в тетрадях каталог, указывая в нём места расположения файлов по счётчику. Такой порядок работы и по времени окажется более экономичным.
При работе на компьютере в течение длительного времени на кассетах скапливается много небольших фрагментов текстов программ различных версий и их очень легко потерять или перепутать. Аккуратное ведение каталога избавит вас от этих неприятностей, а навести порядок на кассетах вы сможете с помощью многофайлового копировщика MULTICOPY/MV1. Этот копировщик позволяет загружать сразу несколько файлов общим объёмом около 25 кбайт (в восьмеричных адресах это составляет 61520), записывать их по отдельности в нужном порядке или объединять в один файл. В копировщике отсутствует защита от перезаписи, и, если он ещё до вас "не дошёл", вы можете получить его у меня бесплатно (в качестве подарка от МВИ; интересы этой группы представляет автор статьи).
ПОДКЛЮЧЕНИЕ ДИСКОВОДОВ
Многие пользователи БК давно мечтают получить возможность работать с дисководом. Некоторые опытные радиолюбители пытались сами сделать контроллер для управления дисководом, но в итоге всё свелось к использованию готового контроллера от БК 0011 и переделке компьютера (см., например, статью в Первом номере "Байтика" за 1991 г., с.20).
Более удачное решение предложило МП "Комтек". Оно поставляет в продажу переделанный контроллер от БК 0011 вместе с записанной на диск ДОС (дисковой операционной системой - специальной программой для работы с диском) и описанием. Описание составлено достаточно подробно и понятно. Ёмкость диска - около 700 кбайт, что соответствует примерно ёмкости 45-минутной магнитофонной кассеты. Для повышения помехозащищённости в компьютер рекомендуется установить дополнительную микросхему. Если такую цель не ставить, то подсоединить дисковод к компьютеру можно без переделки последнего.
Таким образом, работа на БК с дисководом стала реальностью, однако затраты на это далеко не всех могут устроить, тем более что положительный эффект некоторые посчитают недостаточным, а отрицательный - обременительным.
Самую малую часть составят затраты на кабель для соединения дисковода с контроллером. Придётся либо сделать его самостоятельно, либо использовать кабель из комплекта компьютера "Электроника МС507.Х" (ДВК-3).
В качестве дисковода можно применять отечественные модели НГМД-6022 и МС 5305, причём лучше использовать 80-дорожечный МС 5305, хотя прилагаемая к контроллеру дискета записана на 40-дорожечном НГМД-6022. В магазине "Электроника" можно приобрести дисковод либо без блока питания и без корпуса, либо два дисковода в общем корпусе с блоком питания. Не рекомендуется использовать дисковод модели 5321 болгарского производства.
Компьютер с дисководом работает следующим образом. После включения и выхода в монитор командой "Т" с диска в адресное пространство от 1000 до 14000(8) считывается ДОС. После этого можно производить следующие операции: вывод на экран каталога (списка файлов) диска; форматирование (специальная операция по разметке) диска как целиком, так и отдельных дорожек; инициализация (обнуление каталога) диска; верификация (контрольная проверка на считываемость) диска, копирование файлов с диска на диск, с диска на магнитную ленту и обратно и из ОЗУ на диск; переименование и удаление файлов; загрузка файла с диска (время загрузки не более 5 с) и его запуск.
При работе с дисководом придётся учитывать некоторые особенности: работа в Бейсике или Фокале становится невозможной, так как при подключении контроллера ПЗУ с интерпретатором языка отключается; файлы, записываемые на диск, должны иметь адрес загрузки не ниже 1000(8) и их имена должны состоять не более чем из шести символов с расширением, содержащим не более трёх символов. Файлы, записываемые с на магнитную ленту, приобретают адрес загрузки 40000(8). Длина файла, записываемого на диск, - не более 40000(8). Файлы хранятся на диске поблочно, размер блока 500 байт.
Эти обстоятельства делают не только невозможной работу с дисководом в Бейсике, но и практически бессмысленным (без изменения ДОС или разработки специальной утилиты - небольшой служебной программы) хранение на диске Бейсик-программ.
Отмеченные особенности также создают дополнительные, хотя и не слишком значительные, трудности при использовании файлов, записанных на магнитную ленту с диска. При загрузке таких файлов с магнитофона придётся каждый раз указывать адрес загрузки.
При работе с программами, содержащими обращение к штатному (встроенному в компьютер) драйверу магнитофона, контроллер "перехватывает" это обращение и производит запись (считывание) файла на диск (с диска), что позволяет пользоваться без переделки такими программами, как текстовые редакторы, микроассемблеры и пр. В то же время из-за того, что файлы на диске хранятся поблочно, при загрузке их с диска в программу в конце файла будет записан "мусор". Например, если файл имеет длину 1002(8), то на диске он займёт два блока. При загрузке такого файла в редактор его длина составит 2000(8), а с адреса от 1003(8) до 2000(8) будет находиться "мусор". Это приведёт к некоторым неприятностям: потребуется после загрузки удалить лишнюю часть, а максимальную длину обрабатываемого текста ограничить. Некоторые программы, например, микроассемблер TURBO 3, без дополнительной переделки работать не смогут.
У драйвера дисковода есть ещё одна неприятная особенность: допускается запись на диск файлов под одним и тем же именем, что особенно неудобно при работе с различными редакторами. Обычно при открытии на диске файла в него автоматически записываются все вносимые во время работы с редактором изменения. Здесь же придётся каждый раз при внесении изменений или при записи на диск присваивать файлу новое имя.
Из-за особенностей ведения каталога диска (при удалении файлов не суммируются свободные блоки и др.) придётся время от времени обновлять записи на диске. Для этого лучше иметь два дисковода. Контроллер обеспечивает возможность работы с четырьмя дисководами.
Можно бесконечно продолжать перечень замечаний, потому что нет предела для совершенствования. Главным же недостатком описываемого контроллера и ДОС является несовместимость формата записи на диск с форматом записи, принятым на БК 0011М.
Радиолюбителям удастся снизить затраты на оснащение БК дисководом, поскольку они сами могут изготовить различные узлы и восстановить некондиционные дисководы. А для программистов здесь непочатый край работы. Потребуется адаптировать многие программы, написать различные утилиты типа Norton Commander (специальная программа для работы с файлами на IBM-совместимых компьютерах). Зато появятся новые возможности!
Вячеслав Юров
МНОГОЦВЕТНЫЙ ГРАФИЧЕСКИЙ РЕДАКТОР "ГРАФ-36"
Многие пользователи БК 0010-01 уже успели познакомиться с такими играми с маркой МВИ[1], как BOBI, BOBI II, MADGHOST, STARBANDIT и другими, отчасти благодаря широкой пиратской деятельности ногинского кооператива "СНЕК", продающего незаконные копии этих программ через московский государственный магазин "Электроника", который предпочитает торговать не авторскими, а пиратскими копиями.
Игры снабжены красочными заставками; часть из них приведена на обложке журнала. Все заставки выполнены в многоцветном графическом экранном редакторе "GRAF36", разработанном также МВИ. Этот редактор предназначен для создания не только заставок, но и видеореклам, а также художественного конструирования.
В 1988 г., когда мы впервые решили сделать красочные заставки для игр, на БК не существовало не только многоцветных, но и черно-белых графических редакторов, использующих под рисунок весь экран. Не было также редакторов, способных создавать более 10 спрайтов и проверять их в движении. Поэтому мы для себя разработали десятицветный полноэкранный графический редактор и редактор спрайтов. В процессе использования мы их постоянно совершенствовали (в основном расширяли сервисные возможности). После того как наши игры с заставками стали популярными, к нам постоянно обращаются с вопросами о том, как мы эти заставки сделали. Поскольку аналогичных экранных графических редакторов у пользователей БК всё ещё не было, то к концу 1990 г. такой редактор, дополненный необходимыми утилитами и документацией, под названием "GRAF36" мы и предложили пользователям (о мультипликационном редакторе спрайтов ANIMATIC, способном создавать, редактировать и проверять в движении до 128 спрайтов, а также создавать мультфильмы, читайте в следующих номерах "Байтика").
Редактор "GRAF36" имеет широкие графические возможности:
- использует и запоминает 32 наиболее выразительных, по нашему мнению, из всех возможных на БК дополнительных цвета, которые могут быть заменены на другие самим пользователем;
- рисует точками, линиями, прямоугольниками, окружностями и закрашивает замкнутые области;
- обеспечивает перенос с точностью до одной точки фрагментов изображения (при этом можно перенести точки как всех цветов, так и части цветов по желанию пользователя), а также поворот переносимого изображения относительно оси X, Y или обеих осей и размножение фрагментов рисунка.
Всё это позволяет достигнуть наибольшей выразительности рисунка и его плотной компоновки.
Максимальный размер создаваемого рисунка составляет 256x240 точек, что соответствует размеру телевизионного экрана без служебной строки (15 Кбайт). Сам же редактор полностью занимает все 16 Кбайт ОЗУ.
В "GRAF36" использован наиболее полный список команд (всего 66), обычно применяемых в подобных редакторах, а функции этих команд в некоторых случаях расширены. Введена команда изменения палитры дополнительных цветов.
Все команды выполняются нажатием соответствующих клавиш. Это вначале усложняет пользование редактором, но затем увеличивает скорость редактирования рисунка.
В отличие от большинства графических редакторов "GRAF36" позволяет работать с поднятым и опущенным пером (что также увеличивает скорость редактирования рисунка) и не требует дополнительного ввода начальных и конечных координат изображаемых линий и фигур. В режиме рисования линий можно не только проводить прямые или ломаные линии, но и закрашивать многоугольники, образуемые этими линиями. При переходе в режим рисования линий (нажатием клавиши "L") местоположение пера фиксируется как начало изображаемого отрезка. При перемещении пера в другую точку экрана и опускании его (нажатием клавиши "ВВОД") фиксируется конечная точка отрезка и этот отрезок рисуется. Если поднять перо и вновь войти в режим рисования линий, то конечная точка изображённого отрезка будет принята за начало нового отрезка и т.д. Повторяя нужное число раз описанные операции, можно нарисовать ломаную линию. Если же перо не поднимать в конечной точке отрезка, то можно построить закрашенный многоугольник.
Аналогично можно работать в режиме рисования точек, прямоугольников и окружностей. Во всех случаях, когда перо поднято, на экран выводится, но не фиксируется возможное изображение фигуры в данном режиме. Так, если в режиме рисования окружности перемещать поднятое перо, то диаметр изображаемой на экране окружности будет меняться.
В редакторе предусмотрено управление от клавиатуры, джойстика и мыши. Рисунки, созданные в редакторе, могут быть записаны на магнитофон в виде файла и выводиться на экран и на печать как с помощью редактора, так и с помощью специальных программ (утилит), входящих в комплект поставки. Запись рисунка производится в обычном формате, что позволяет использовать его в заставках как непосредственно, так и после компрессии (специальная операция для уменьшения объёма памяти, занимаемого рисунком).
Редактор снабжён подробной инструкцией, поэтому мы рассмотрим только часть приёмов, которые могут использоваться в некоторых режимах работы.
При закрашивании замкнутой области её следует обозначить одноцветной замкнутой линией без разрывов. Цвет этой линии принимается за цвет границы области. Допускается замкнутую область образовывать из отрезков линий (без разрывов) двух цветов, если одним из этих цветов область будет закрашиваться. В этом случае другой цвет принимают за цвет границы. Из-за небольшого объёма памяти компьютера надо следить за тем, чтобы в замкнутой области было не слишком много мелких предметов (не более 20 - 25).
Иногда ускорить стирание сложного многоцветного рисунка можно с помощью закраски. Для этого необходимо выделить удаляемую область замкнутой линией такого цвета, которого меньше всего в удаляемом рисунке, и этим же цветом рисунок закрасить. При необходимости подобную процедуру надо повторять до тех пор, пока удаляемая область рисунка не станет однотонной.
На примере заставки к игре BOBI II рассмотрим перенос фрагмента изображения с сохранением части цветов. На этой заставке много ёлочек, но нарисована была всего одна, которая затем была размножена путём переноса, причём в переносимые цвета не был включён чёрный, что позволило наложить ёлочки частично друг на друга или разместить их вплотную. Если бы чёрный цвет не был изъят, то при наложении часть рисунка стёрлась бы. Для разнообразия часть ёлочек при переносе разворачивалась вокруг вертикальной оси симметрии, а затем каждая из размноженных ёлочек была подкорректирована.
При переносе фрагмента на расстояние, меньшее чем его размер в направлении переноса, следует координаты начала выделяемого фрагмента размещать на стороне, противоположной направлению переноса. В противном случае часть переносимого фрагмента будет потеряна.
В следующей версии редактора графические операции будут выполняться с большей скоростью и будут значительно расширены сервисные возможности.
В заключение приведём таблицу подключения джойстика к контактам порта ввода-вывода компьютера.
Контакт джойстика |
Контакт порта ввода-вывода |
---|---|
Влево |
В23 |
Вправо |
В24 |
Вверх |
В20 |
Вниз |
А24 |
Правый курок |
А20 |
Левый курок |
В17 |
Общий |
А18 |
При таком подключении обеспечивается работа не только с редактором, но и с большинством игровых программ.
Владислав Юров, Михаил Бабешко
[1] МВИ (ранее ANDROID) - это мы Михаил Бабешко, Владислав Юров и Игорь Юров.
от БК 0010 к БК 0011 и далее...
В 1984 г. в подмосковном городе Павловский Посад завод "Экситон" начал серийный выпуск первого отечественного бытового компьютера БК 0010. Для многих это событие оказалось неожиданным. Во всяком случае, широким спросом эти компьютеры, несмотря на свою уникальность, вначале не пользовались. Их покупали в основном научно-исследовательские институты и вузы, а также профессиональные программисты и инженеры как для использования в своей работе, так и для создания игровых программ. И именно благодаря тому, что первыми пользователями БК стали профессионалы, по достоинству оценившие его возможности, дальнейшее продвижение БК к тем, для кого он непосредственно предназначался, было быстрым и успешным.
Важным преимуществом этих компьютеров явилась их совместимость по системе команд с широко распространёнными в нашей стране профессиональными мини-ЭВМ СМ-3,4,1420, ДВК-2,3,4 и Электроника-60,85[2].
Уже в 1986 г. для БК появилось несколько десятков самых разных программ высокого качества, которые сделали компьютер доступным и для непрофессионалов.
Благодаря довольно низкой цене (600 руб.) и достаточно высокой надёжности БК 0010 постепенно начали завоёвывать популярность. Правда, такие недостатки, как плёночная клавиатура, не очень удобный язык Фокал и малый объём оперативной памяти, конечно, снижали интерес к этой модели.
С 1987 г. начался выпуск новой версии БК - БК 0010-01, в которой в ПЗУ вместо Фокала был зашит компилятор Бейсика, а плёночная клавиатура была заменена обычной кнопочной. Именно эта модель завоевала наибольшую популярность - десятки тысяч компьютеров были проданы через магазины, десятки тысяч попали в школы и другие учебные заведения в составе комплектов КУВТ 86.
Следующим в серии БК стал компьютер БК 0011. Его появление в 1988 г. означало заметный шаг вперёд - объём оперативной памяти 128К (вместо 32К), тактовая частота около 5 МГц, возможность подключения принтера, джойстика и мыши, лучшие параметры сети (для работы в компьютерном классе). Но при всех перечисленных достоинствах было утеряно, быть может, главное - программная совместимость с БК0010, для которого был наработан огромный объём программного обеспечения. Кроме того, некоторые недостатки имелись и у мониторной системы: отсутствовали некоторые полезные функции, бедноватым оказался набор команд ЕМТ.
Эта модель была довольно оперативно доработана и в 1990 г. появилась следующая модель - БК 0011М ("Электроника МС-0513"), обладающая уже полной программной совместимостью с БК 0010 (и на уровне Бейсика, и на уровне кодов) и достаточно богатым набором ЕМТ-функций.
Что же дальше? Завод "Экситон" обещает выпустить в ближайшее время БК с жёстким диском типа "винчестер". Ведутся работы по созданию локальных сетей на базе БК с IBM-совместимым компьютером в качестве центральной машины.
Ну что же, подождём, посмотрим...
Конечно, модель БК 0011М не лишена недостатков. Я сначала упомяну только о тех, которые присущи монитору.
Во-первых, функция ЕМТ 56, которая согласно инструкции при отрицательном содержимом регистра R0 на входе должна на выходе выдавать в регистр R0 статусы экранов, почему-то этого не делает.
Во-вторых, пусковой монитор БК 0011М не прощает пользователю ошибок и при наличии их зависает. В этом случае (учитывая, что клавиша "СТОП" в стандартном режиме отключена, а кнопка перезапуска процессора отсутствует) остаётся только выключить компьютер и запустить его снова; при этом потеряется вся только что введённая в него информация.
Но эти и некоторые другие мелкие недостатки пережить можно. И даже программы, написанные для БК 0010, можно адаптировать для запуска на БК 0011 (возможный способ такой адаптации приведён ниже).
Самое главное то, что несмотря на все свои достоинства машина морально устарела ещё до своего появления.
Основные недостатки её концепции, следующие:
- процессор не рассчитан на создание более мощных программно-совместимых машин;
- для дисковода выбран некий экзотический формат записи (разумнее было бы выбрать IBM-совместимый);
- невозможно получить цветное изображение с высоким разрешением, а этого без труда можно было бы добиться объединением двух существующих экранов в один.
Я считаю, что исправление даже двух последних недостатков сделало бы машину конкурентоспособной на фоне появившихся в наших магазинах дешёвых "почти IBM-совместимых" бытовых компьютеров "Поиск", МС-1502, ВК-88 и др. Однако, чтобы достичь серьёзного успеха, следует преодолеть и основной - первый недостаток, а это гораздо сложнее (один из возможных способов я хочу предложить вниманию разработчиков).
АДАПТАЦИЯ ПРОГРАММ БК 0010 ДЛЯ ЗАПУСКА НА БК 0011
По способу построения языка на уровне машинных кодов компьютеры БК 0011 и БК 0011М аналогичны БК 0010. Различны только система прерываний ЕМТ, поддерживаемая монитором и (для БК 0011) правила обращения с портом 177716.
Итак, для запуска на БК 0011 и БК 0011М программы от БК 0010 необходимо прежде всего переписать на свой магнитофон монитор от БК 0010. Чтобы загрузить его в ваш компьютер, следует включить компьютер и, если он вышел в интерпретатор Бейсика, перейти в монитор командой MON. По многим причинам удобнее всего загружать монитор БК 0010 на четвертую страницу памяти, значит, необходимо выполнить команды:
4; 1С 5; 0С 100000L имя
При работе на БК 0011 перед запуском монитора следует провести модификацию некоторых его ячеек
(100246, |
100450, |
102064, |
102076, |
110342, |
116146, |
116160, |
116230, |
116260, |
116400, |
116406, |
116420, |
116434, |
116446. |
116520, |
116532, |
116546, |
116560, |
116572, |
116604, |
116646. |
116706, |
117532, |
117542, |
117616, |
117674) |
|
в соответствии с приведённой таблицей (указаны восьмеричные значения чисел):
БК 0010 |
БК 0011 |
---|---|
000220 |
016200 |
000320 |
016300 |
000020 |
016000 |
000120 |
016100 |
000060 |
016040 |
000160 |
016140 |
000200 |
016200 |
Модифицированный монитор следует записать на магнитофон.
Учитывая, что четвёртая страница памяти имеет объём 16 Кбайт, а монитор БК 0010 занимает только первые 8 Кбайт, оставшиеся 8 Кбайт следует заполнить необходимыми для работы служебными программами. Например, можно загрузить с адреса 120000 интерпретатор Фокала из блока МСТД БК 0010. Объём его как раз 8 Кбайт. Если же вы профессиональный программист, то для ассемблирования и отладки программ удобнее всего загрузить по этим адресам ассемблер-отладчик M18DIZ, созданный мною специально для использования на БК 0010 (с дополнительным ОЗУ), БК 0011 и БК 0011М. Система M18DIZ включает мощный редактор текста, собственно ассемблер, полноценный отладчик, а также драйвер принтера со стандартным протоколом ИРПС-М. Если в оставшиеся 8 Кбайт ничего не загружено, то в ячейку 120000 следует записать 0, так как после инициализации монитор БК 0010 передаёт управление именно этой ячейке.
Теперь можно запустить монитор командой 100000G.
При работе с БК 0011 перед запуском каких-либо программ с БК 0010 надо найти с помощью отладчика все обращения программы к порту 177716 и исправить засылаемые в неё числа в соответствии с вышеприведённой таблицей.
Если вы хотите перейти из монитора БК 0010 в монитор БК 0011 или БК 0011М, то нажмите последовательно клавиши "СТОП", "Р" (лат.) и "ВВОД". Способ возврата в монитор БК 0010 описан выше. Для хранения монитора БК 0010 не случайно выбрана четвёртая страница памяти - она реже других используется при работе в мониторе БК 0011 или в Бейсике.
НЕКОТОРЫЕ РЕКОМЕНДАЦИИ РАЗРАБОТЧИКАМ
Одно из основных требований к архитектуре любого компьютера, претендующего на какой-либо успех - это возможность создания на его базе серии компьютеров с расширенными возможностями, особенно с увеличенным объёмом памяти.
Ниже предложен один из возможных вариантов модификации БК 0010, позволяющий использовать этот компьютер в качестве базовой модели будущей серии.
- Память компьютера делится на
страницы (по 64 Кбайт каждая), которым присваиваются номера с 000000 до 177777(8).
Максимальный объём памяти при этом может составить приблизительно 4194 Мбайт,
что во много раз превышает как реальные технические возможности, так и потребности
большинства программистов (отметим, что компьютеры IBM PC завоевали рынок при
объёме оперативной памяти всего 640 Кбайт).
Первые 777(8) байт памяти нулевой страницы отводятся под векторы прерываний; ячейки 40000 - 137777 - либо для двух текстовых экранов, либо для одного графического экрана; ячейки 140000 - 177777 содержат монитор со служебными подпрограммами, а также системные переменные; ячейки 1000 - 37777 могут быть использованы для программ пользователя.
- Для определения физического
адреса предназначены четыре ячейки с системными переменными, находящиеся на
нулевой странице (обозначим их условно RR4 - RR7). Эти же ячейки применяются
для определения номера страницы с адресом, вычисляемым в команде, работающей
с регистрами R4 - R7. Если же для адресации используются регистры R0 - R3, то
номер страницы берётся из ячейки RR7. Таким образом, ячейки RR4 - RR7 подобны
сегментным регистрам ES, DS, SS, CS системы команд IBM PC. Действительно, ячейка
RR7 (как и CS) содержит номер командной страницы или сегмента, RR6 (как и SS)
- номер стековой страницы, а RR4, RR5 (как и ES, DS) - номера страниц данных
в двухадресной команде.
Ячейки RR4 - RR7 должны быть доступны для чтения и для записи. Ячейка RR7, определяющая страницу кодов выполняемой программы, должна, кроме того, меняться при межстраничных передачах управления при выполнении команд JMP, JSR и RTS. Впрочем, для удобства изменения содержимого ячеек RR4 - RR7 должна существовать также специальная ЕМТ-функция.
- В слово состояния процессора вводится бит пользования расширенной памятью. Если этот бит отличен от нуля, то физический адрес вычисляется с помощью ячеек RR4 - RR7. Если же он равен нулю, то содержимое ячеек RR4, RR5, RR7 игнорируется (содержимое ячейки RR6 используется для нахождения стековой страницы). Все остальные адреса ищутся на нулевой странице. Таким образом, если ячейка RR6 содержит ноль и бит пользования расширенной памятью в слове состояния процессора равен нулю, то компьютер работает в режиме, полностью идентичном режиму БК 0010.
- Организуются прерывания двух типов в зависимости от второго слова в векторе прерывания, соответствующего состоянию процессора после прерывания. Если бит пользования расширенной памятью во втором слове этого вектора равен нулю, то для обработки прерывания используется подпрограмма, находящаяся на нулевой странице. Этот режим удобен для системных прерываний, обработка которых происходит на нулевой странице. Если же бит пользования расширенной памятью равен единице, то для обработки прерывания используется подпрограмма пользователя, находящаяся на текущей странице, определяемой содержимым ячейки RR7.
Итак, если мы хотим вызвать подпрограмму не с текущей страницы, можно, например, с помощью соответствующей ЕМТ-функции поместить номер этой страницы в ячейку RR4, а номер текущей страницы - в ячейку RR5, затем записать адрес подпрограммы в регистр R4 и выполнить команду JSR R5, (R4). Управление при этом будет передано на страницу, задаваемую ячейкой RR4 по адресу, находящемуся в регистре R4. Адрес возврата находится в регистре R5, а страница возврата - в ячейке RR5. Если подпрограмма не испортит содержимое R5. RR5, то возврат можно осуществить командой RTS R5.
Андрей Прудковский
[2] Все эти семейства, и БК в том числе, принадлежат к так называемой линии DEC, поскольку прообразом для них послужили компьютеры серии PDP-11 американской фирмы DEC (Digital Equipment Corp.).
ДЖОЙСТИК?
НЕТ ПРОБЛЕМ!
Существует огромное число игровых программ для БК, предусматривающих подключение джойстика для управления игровыми объектами. Но есть и такие программы, которые не имеют драйвера джойстика. Как же быть, если не хочется портить клавиатуру? Есть два выхода: доработать либо программу, либо аппаратную часть.
Первое зачастую гораздо доступнее. И уже появились доработки известных игр, таких, как New Sheriff или Land. Но иногда вмешательство в программу оказывается невозможным: для драйвера попросту не хватает памяти...
Остаётся второй вариант: подключить джойстик к штатной клавиатуре! Конечно, манипулятор потеряет одно из своих достоинств - возможность одновременной подачи нескольких не исключающих друг друга команд (вверх и влево, стрельба и вниз...), поскольку штатная клавиатура не обеспечивает срабатывания от одновременного нажатия нескольких клавиш. Но хотя бы то, что клавиатура не будет портиться, особенно у игроманов, побуждает рассмотреть и такой вариант.
Кроме того, если изготовить переходник "УП - джойстик", распаяв на один разъём УП два разъёма для джойстика, мы получим возможность подключать один и тот же манипулятор как к порту, так и к клавиатуре компьютера. Именно поэтому при доработке выводы с клавиатуры распаиваются на свободные контакты разъёма УП.
На рисунке изображена монтажная схема доработки. Следует учесть, что масштаб и взаимное расположение разъёмов не соблюдены, а проводники прокладываются с обратной стороны платы.
Выбранная схема отличается удобством выполнения: соединительные провода не пересекаются, что позволяет расположить их в промежутке между платой и днищем корпуса. При доработке лучше использовать тонкий монтажный провод в пластмассовой изоляции. Пайку нужно производить маломощным паяльником (температура жала не более 270 °C). Само жало желательно заземлить: интерфейс клавиатуры боится статических разрядов. Пайка должна быть тщательной - без малейших подтёков припоя и без нарушения изоляции проводников.
Контакты джойстика распаиваются в соответствии с приведённой таблицей. Такая распайка позволяет задействовать наиболее употребительные клавиши. Предложенный способ подключения можно использовать для всех известных нам игр.
Вывод разъёма УП |
B2 |
A2 |
B3 |
A3 |
B4 |
A4 |
---|---|---|---|---|---|---|
В14 |
- |
- |
- |
РУС |
ЛАТ |
Влево |
А14 |
Вправо |
Вверх |
Вниз |
- |
- |
- |
А5 |
- |
- |
- |
- |
- |
Пробел |
Надеемся, что описанная доработка поможет вам дольше сохранить клавиатуру. Но это не единственный вариант.
Дерзайте!
Всех читателей, заинтересовавшихся данной темой, а также имеющих какие-либо новые идеи, просим написать по адресу:
241047, Брянск 47, а/я 109.
Брянский клуб пользователей БК.
А. Малашенко, Р. Аскеров