У радиолюбителей, собравших микроЭВМ, нередко возникают проблемы при обмене программами, записанными на компьютерах даже одного и того же типа. Вот только наиболее характерные причины сбоев: программа, записанная интерпретатором языка Бейсик, считывается Монитором или наоборот; несовпадение констант при записи и чтении программы; коэффициенты детонации магнитофонов при записи и (или) воспроизведении чрезмерно велики; или отличаются скорости движения магнитной ленты; несовпадение частот кварцевых резонаторов в «записывающем» и «воспроизводящем» компьютерах, например, 7,8 и 8,2 МГц; программа записана и считывается различными версиями языка Бейсик.
Предлагаемая вниманию читателей программа «Гистограмма» позволяет объективно оценить качество ввода данных с магнитной ленты, определить оптимальные константы записи-чтения.
Константы записи-чтения — это некоторые шестнадцатеричные числа из программы компьютера, определяющие скорость ввода информации от магнитофона и скорость вывода информации на магнитную ленту. Начальные значения констант для «Специалиста» — константа записи КЗ = 28Н (ячейка 8FFEH), константа чтения КЧ=3СН (ячейка 8FFFH). Соотношение между КЗ и КЧ всегда равно 1:1,5.
Таблица 1
Гистограмма — график, по горизонтальной оси которого откладывается параметр, а по вертикальной — частота появления этого параметра. В применении к двухфазному методу кодирования, принятому в «Специалисте», параметром является длительность интервала между единицами и нулями информации. Идеальная гистограмма должна состоять из двух узких пиков.
Программа построения гистограммы занимает область ОЗУ с 8С00Н по 8EDFH и позволяет определять константы записи от 1ВН до 5DH, константы чтения — от 28Н до 8ВН. Коды программы и контрольные суммы приведены в таблицах 1 и 2 соответственно. «Гистограмма» не мешает работе прикладных программ, занимающих область ОЗУ 0000Н — 8000Н.
Таблица 2
Начальный адрес | Конечный адрес | Контрольная сумма |
---|---|---|
8C00H | 8CFFH | 4918H |
8D00H | 8DFFH | 6702H |
8E00H | 8EDFH | 31F0H |
8C00H | 8EDFH | 180AH |
Работа с программой. После ее запуска с адреса 8С00Н на экране телевизора должны появиться начальные оси гистограммы. Включите магнитофон с исследуемой программой на воспроизведение и подайте сигнал на вход компьютера. На экране телевизора произойдет построение гистограммы в виде графика из точек с периодом сканирования 0,3 с. Для фиксации изображения достаточно нажать на любую клавишу, после чего на экран будут выведены оптимальные КЗ и КЧ для данной программы.
В дальнейшем клавишей <1> можно ввести найденные константы в соответствующие ячейки компьютера, клавишей <2> — одновременно с вводом констант перевести компьютер в режим ожидания ввода программы, клавиша <ВК> продолжит построение гистограммы без ввода констант.
Если в самом начале исследуемой программы нажать и удерживать в течение 1—2 с клавишу <2>, произойдет автоматический ввод констант и непосредственная загрузка программы.
Если же константы находятся за диапазоном определения, то вместо их значений появятся вопросительные знаки, а самим константам при вводе будут присвоены начальные значения КЗ = 28Н и КЧ=3СН.
Анализ гистограммы. Из-за искажений в трактах записи-воспроизведения магнитофонов реальные гистограммы имеют расширенные несимметричные пики, причем для большинства программ левый пик больше правого (рис. 1).
При анализе основное внимание следует обратить на незаполненное чистое пространство между пиками — чем оно больше, тем лучше. При перекрытии пиков чистое пространство исчезает, и программы вводятся со сбоями (рис. 2). Физически отдельные логические единицы в программе воспринимаются нулями и наоборот.
Уверенно считываются программы, имеющие не менее трех-четырех клеточек чистого пространства.
Методы увеличения чистого пространства между пиками.
1. Определить по гистограмме и ввести в компьютер оптимальные константы записи-чтения (возможен их подбор в пределах 2—3 единиц). Следует только помнить, что при каждом нажатии на клавишу <СБРОС> в компьютер автоматически вводятся начальные константы.
2. Повторить ввод программ с магнитофона более высокого класса, имеющего низкий коэффициент детонаций, или использовать магнитофон, на котором была сделана данная запись.
3. Повторить ввод программы с магнитофона, имеющего меньшую скорость движения ленты, например 2,38 см/с, определив предварительно по гистограмме константы записи-чтения. Пики при уменьшенной скорости раздвигаются и смещаются вправо, причем правый пик может даже отсутствовать на экране телевизора.
4. Подобрать номиналы резисторов и конденсаторов в узле сопряжения компьютера с магнитофоном (см. схему в «М-К», 1987, № 2, с. 21): R16 2,4 — 10 кОм, R17 12 — 51 кОм; С5 — можно не устанавливать, С6 0,15 — 2,2 мкФ; ввести гистерезисную цепочку («М-К», 1988, № 4, с. 19); установить пониженное или повышенное (на 0,2 — 0,5 В) напряжение питания — 5 В относительно +5 В.
5. При воспроизведении монофонических программ через стереомагнитофон попытаться считывать информацию с разных дорожек.
6. При сбоях программ на Бейсике также первоначально определяются и вводятся КЗ и КЧ. После этого запускается на выполнение интерпретатор Бейсика и через оператор MLOAD или CLOAD вводятся программы.
И все же чаще всего программы не вводятся из-за несовпадения версий языка в программах на магнитной ленте и в компьютере. Среди владельцев «Специалиста» наиболее распространены версии: Бейсик-«М-К» («М-К», 1987, № 5, 6), Бейсик-MICRON, Бейсик-MAGIC, а также различные модификации этих программ. Отличия версий заключаются, в частности, в процедуре считывания имени файла с магнитной ленты.
Версии MICRON и MAGIC можно отличить от версии «М-К» по гистограмме, наблюдая в самом начале программы левый пик (0,5 с), а затем правый пик (2 с), после чего появляется собственно программа с двумя пиками. Бейсик-«М-К» начальных пиков не имеет.
Если версия Бейсика предварительно неизвестна, то загрузку программы можно попытаться осуществить, вводя операторы MLOAD или CLOAD не до начала программы, а после прохождения первого левого пика гистограммы, содержащего имя файла. Однако введенные подобным образом программы не гарантированы от ошибок или могут быть неполностью совместимы из-за отличий в версиях.
Поскольку автор не установил стек, для избежания сбоев на некоторых модификациях «Специалиста» рекомендуем после ввода таблицы и проверки контрольных сумм заменить по адресу 8С00Н первые три ячейки с кодами С3, 03, 8С соответственно на коды 31, FF, 81. Тогда указатель стека установится по адресу 81FFH.
С. РЮМИК, г. Чернигов