■ DER (DIGITAL FREQUENCER) - цифровой частотомер.
Программа позволяет определять частоты сигналов в диапозоне
от 0,2Гц до, фактически, граничной частоты входного компаратора
(обычно, около 20КГц) с точностью до 7 значащих цифр.
После загрузки программы в нижней части экрана появляется
подсказка:
INTERWAL (0.1-5.IS) :
Укажите необходимый интервал измерения из указанного диа-
позона и нажмите кнопку "ENTER", после чего вы попадете в режим
индикации с указанием:
- интервала,
- количества импульсов, подсчитанных в данном интервале вре-
мени,
- вычисленной частоты входного сигнала, JQ вычисленного пе-
риода.
Для возврата в режим выбора интервала нажмите и удерживай-
те некоторое время клавишу "BREAK".
Примечание. Расширить диапозон измерения программы
можно, используя отдельный вход для TAPE-IN с более высокой
частотой среза компаратора.
■ LERM ТАРЕ COPIER 7
Введение
Перед загрузкой программы убедитесь, что память компьютера
очищена. Любая периферия, кроме интерфейса-1, должна быть от-
ключена.
Не пытайтесь копировать наиболее поздние программы, не на-
брав достаточно опыта. Они хорошо защищены.
Техническая информация
Этот раздел помещен для расширения ваших знаний по спект-
руму, а также для облегчения операции копирования программы.
1. Пилоттон (иногда просто "тон, сокращенно - [Т ]).
При загрузке программы или при их записи на ленту вы видите
в самом начале широкие синие и красные полосы. Это пилоттон [Т ].
Он обеспечивает надежность ввода кодов в память компьютера.
2. Джеркитон (сокращенно - [J ].
Это прерывистый пилоттон. Он был разработан для защиты от
копирования программы. Вместо плавного перемещения красно-го-
лубых полос наблюдается их движение рывками, сопровождающееся
отрывистыми звуковыми сигналами. Этот способ довольно широко
применяется в последнее время, например фирмами OCEAN,
ULTIMATE и другими.
3. Байты (сокращенно [В]).
После тона идут байты. Они сопровождаются узкими синими и
желтыми полосами на экране. Программист может сделать их друго-
го цвета, а может совсем не выводить, используя свой загрузчик.
Байты - это числа в диапозоне от 0 до 255. Они представляют и
бейсик, и машинные коды, и данные. Все это байты, но они имеют
разные функции.
4. Блок кодов.
Пилоттон вместе с последующими данными называется блоком
кодов.
5. Часть программы.
Рассмотрим загрузку в компьютер простой бейсик-программы.
Сначала мы видим тон, затем короткий пакет байтов [В ]. Это первый
блок, Затем после короткого промежутка вы увидите второй тон [Т ]
и опять [В ], т.е. второй блок кодов. [
блок 1 блок 2
----------пауза------------
[Т] [В] у [Т] [В]
1 Совокупность ЭТ„х двух блоков называется ,астьЮ программы.
Так, если вы записываете бейсик-программу [Т ] [В ] - [Т ] [В ], а
затем, скажем, массив данных [Т ] [В ] - [Т ] [В ], то вы получите две
части программы. Если же вы записываете бейсик, затем блок ма-
шинных кодов, а затем блок данных, то программа будет иметь три
части.
6. Скорость загрузки/выгрузки.
Обычно SPECTRUM выполняет LOAD и SAVE с вполне опреде-
ленной скоростью. Как правило, это 1500 бод (бит/сек). Если вы
увеличите темп и снизите время загрузки, вам придется расплачи-
ваться снижением надежности ввода. Современные программы иног-
да умеют увеличить скорость ввода и LERM-7 может выполнить
копирование таких программ.
Загрузка программы с повышенной скоростью иногда сопровож-
дается следующими явлениями:
- ширина желто-голубых полос меньше;
- высота звука выше.
Для обеспечения защиты программ от копирования ряд фирм
разработали свои собственные пилоттоны. При этом первая часть
программы должна оставаться "нормальной", иначе SPECTRUM не
сможет загрузить ее. После этого программист может специальной
программой в машинных кодах обойти обычную систему загрузки и
создать свою, например:
- создать значительно более узкий пилоттон;
- создать значительно более широкий пилоттон;
- создать очень короткий пилоттон - 0.1 с вместо 2..5 с. При этом
бордюрные линии становятся широкими сине-желтыми. Этот метод
называется тонингом;
- записать программу без зазоров между блоками кодов. Если
при этом прослушать запись, то слышен один непрерывный тон, а
полосы на экране будут широкими желто-синими. Непрерывный тон
сбивает копирующие программы, поскольку они ждут зазора. С этим
методом вполне справляется копирующая программа LERM-6, для
ряда из этих методов она имеет специальные клавиши. [
Основные способы защиты программ:
а) использование очень длинных программ, более 48К;
б) применение различных скоростей ввода ("AUTOMENIA");
в) прерывистый пилоттон - джеркитон ("DECATHLON");
г) тонинг ("CHUCKIE EGG");
д) короткий пилоттон;
е) комбинация различных методов ("DECATHLON");
Это неполный список, см. Например ниже HEADERLESS-BJIO-
КИ (блоки без заголовка).
Заголовок (HEADER)
Рассмотрим загрузку бейсик-программы. Сначала вы видите
широкие красно-голубые полосы пилоттона, слышите звук. Это идет
подготовка к загрузке. Затем идет короткая серия узких желто-синих
полос. Это первый блок: [Т][В]. Здесь [В] - это заголовок (хедер).
Он короткий, т.к. содержит только 17 байт. Именно поэтому на экра-
не появляется сообщение:
PROGRAM: FRED
или
BYTES: FRED
1 после загрузки еще ™оГО блока - будем „меть:
блок 1 блок 2
~ГтТ"7нГ~пауза ~Тв~Г ~
[Н ] - это хедер (раньше мы писали [В ]).
]
Данные о хедере.
SPECTRUM имеет 17 байтов в хедере. Рассмотрим состав этих
данных. Например:
[
HEAD: 0-250-10-20
вы видите 4 числа. Их всегда должно быть 4.
первое число:
0 -бейсик
1 - числовой массив
2 - стринговый массив
3- коды
Отсюда видно, что пример, приведенный выше, записан в бей-
сике.
Второе число: количество байтов, подлежащих загрузке; в на-
шем примере - 250.
Третье число: в бейсике здесь задается номер строки, с которой
программа должна автостартовать. Если это число больше, чем
32768, то автостарт не происходит.
В кодах, т.е. если первое равно 3, здесь указывается на адрес, в
который должен быть помещен первый байт.
Четвертое число: задает количество байтов бейсика.
Пример: HEAD: 3-780-36874-780. Задает блок в кодах. Длина
его 780 байт. Загрузка начинается с адреса 36874.
Все программы должны начинаться с хедера, за которым идут
байты:
[Т][Н]
Программируя в машинных кодах, можно обойтись без хедеров,
поскольку можно управлять тем, какие байты куда будут загружены.
Например: [ТРЗ
[Т][Н] [Т][В] [Т][В] [Т][В]
= = = = = = = = = = = = <- эти две части
программы не
имеют хедеров
]
Некоторые программисты вставляют в программы так называе-
мые "фалыыхедеры". Это блоки кодов длиной 17 байтов, которые
выгладят как хедеры. Иногда они имеют неразрешенное имя и пред-
назначены для сбивания с толку копирующей программы.
LERM-6 не обращает внимания на наличие хедера. Если вы
увидите сообщение:
PROGRAM NAME FRED: ??????
то будете знать, что "?" стоит вместо неразрешенных символов,
которые предназначались для вывода из строя копирующей програм-
мы.
Инструкция к LERM-7
Цель программы: копирование очень длинных программ, про-
грамм с высокоскоростными загрузчиками, программ с джеркован-
ным пилоттоном.
В конце этого раздела помещены "полезные советы". Им необ-
ходимо следовать. Это вызвано тем, что программы со скоростными
загрузчиками гораздо более чувствительны к качеству ввода, чем
программы с обычными загрузчиками.
Порядок работы:
1. загрузите LERM-7 командой LOAD "".
2. после загрузки экран темнеет и появляется меню:
L - загрузка нормальных хедеров и байтов
Н - загрузка программ без хедеров
S - запись того, что загружено в режимах L и Н
с - подсчет байтов (счетчик)
Q - прекращение работы (QeNEW)
В - вход в режим "В" для загрузки программ избыточной длины
и программ со скоростными загрузчиками
J - вход в режим " J" для копирования программ с джеркованными
пилоттонами
Режим "Н" и "L" копируют только части программ, записанные
с нормальной скоростью, длиной до 38590 байтов, здесь копируется
только одна часть [Т][Н] [Т ] [В ] или один блок без заголовка
[Т][В]. Этим она отличается от LERM-6. Наиболее целесообразно
для нормальных блоков применять LERM-6, а для более трудных
блоков оставлять LERM-7, работая с ними в режимах "В" и "J".
3. Копирование программ.
А) загрузив ТС-7, установить программу, которую вы хотите
скопировать.
Б) нажмите "L" на спектруме "PLAY" на магнитофоне. Убедив-
шись в том, что уровень сигнала установлен в "обычном" для загрузки
программы положении.
В) после загрузки первой части [Т ] [Н ] [Т ] [В ], остановите маг-
нитофон. Вставьте чистую ленту, включите запись, нажмите "S" на
компьютере. Чтобы выполнить вторую копию на другой ленте, на-
жмите "S" еще раз.
Г) дальнейшие части программы могут быть "нормальными", с
хедерами и байтами, а могут быть без хедеров. Для копирования
первых используйте "L", для вторых - "Н". Если вы не уверены,
пользуйтесь "Н". Загрузив очередную часть, повторите пункт В.
Д) повторяйте пункт "г" до тех пор, пока вам не встретится:
- часть с джеркованными пилоттонами;
- блок с увеличенной скоростью загрузки;
- очень длинный блок;
- блок с очень коротким пилоттоном.
Для работы с такими блоками вам надо пользоваться режимами
"В" или "J". Для первого - "J", а для второго - "В".
4. Счетчик ("COUNTER")
Эта операция позволяет посчитать количество байтов. Она ра-
ботает и на скоростных загрузчиках, но не с джерками.
Работа счетчика:
1) установить начало блока, подлежащего измерению;
2) нажать "PLAY" на магнитофоне и "С" на компьютере. Цвет
бордюра изменится. После прогона блока на экране будет изображе-
на его длина.
Внимание! Если после этого вы перейдете в режим "В", то
замеренная длина будет передана в этот режим, где есть свой собст-
венный счетчик. Это сэкономит время, т.к. измерение длины придет-
ся выполнять только один раз.
Если программа имеет блок данных и вы не уверены, сможет ли
режим "Н" загрузить ее, то после измерения "С" назначьте "Н", если
блок менее 38 К. Если блок больше 38 К, переходите в режим "В", при
этом измерять длину блока уже не нужно.
Кроме того, имейте в виду, что весьма важно знать длину блока
до перехода в режим "В", т.к. выбор клавиши для его копирования
зависит от длины блока.
5. Прекращение работы осуществляется клавишей "Q".
6. Фалыыхедеры. Режим "L" не может загружать фалыыхедеры,
но это можно преодолеть, если копировать каждый блок по отдельно-
сти через "Н".
[T][F][T][B]
здесь [F ] - это фалыыхедеры.
7. Вход в режимы "В" и "J".
Для этого нажмите "В" или "J". Бордюр станет красным, а на
экране появится сообщение: "нажать любую клавишу".
Замечание: вы обнаружите, что режимы "J" и "В" обычно сме-
щают картинку на экране на один квадрат. Это не ошибка. Во всем
остальном картинка должна быть нормальной. Если нет, то проверьте
уровень громкости.
Когда бордюр станет красным, нажмите пробел. Экран станет
черным, бордюр желтым. Если это не так, попробуйте еще раз.
Замечание: в режимах "В" и "J" клавиша "Н" предназначена для
измерения длины, что она и делает в специально выделенной для
этого области памяти. Поэтому если вы намерены делать "SAVE" еще
раз, ни для чего другого эту клавишу использовать нельзя, т.к. в
программе будут испорчены байты. Заметьте также, что если про-
грамма очень длинная, то счетчик "В" может быть "затерт" загружа-
емой программой. В этом случае клавиша "В" станет бесполезной.
8. Режим "J".
Этот режим работает с джеркитонами. Предупреждаем сразу,
что это не просто, см. Раздел "полезные советы". Эти загрузчики
обычно являются также скоростными, но они запрограммированны,
как правило, на одну и ту же скорость.
Меню 'Т'-РЕЖИМА следующее (на экране не показывается):
[
В - измеритель джерков;
L - первая загрузочная программа;
М - первая загрузочная программа;
S - клавиша SAVE;
S/O - "SAVE" с нормальным пилоттоном и с нормальной скоро-
стью;
А - прерывание. Очищается экран, бордюр становится желтым;
Q - сброс (аналогично "NEW").
9. Начало работы.
Прежде всего вам надо померить "джерки" клавишей "В". Для
этого перемотайте ленту и установите ее в начало джеркитона. На-
жмите PLAY на магнитофоне и держите "В" на компьютере до тех
пор, пока пройдет вся джеркованная часть программы. Как только
пойдут байты, нажмите SPACE и выключите магнитофон. Если вы
будете ждать слишком долго, программа может сбиться.
Фактически нет необходимости в перегоне всего джеркитона,
можно начать и с середины. Важно, чтобы измеритель захватил и
несколько последующих байтов. Замер можно повторить. Обычно
программы имеют один джеркитон на каждый блок.
10. Загрузка частей с джерками.
Для этой цели служат две клавиши - "L" и "М". Более ранние
программы обычно требуют '/L", а более поздние - "М". Чтобы вы-
брать, какая именно клавиша вам нужна, надо:
А) Установить программу в том же месте, где начинается загруз-
ка экрана.
Б) Нажать "PLAY" на магнитофоне и "L" на компьютере. Если
цветовые атрибуты идут правильно, значит клавиша "L" выбрана
верно.
В) В противном случае использовать "М".
11. Запись
Установите чистую кассету, включите "RECORD" и нажмите
клавишу "S" для записи с джеркитонами или для записи без них.
12. Клавиша "А"
Нажатие этой клавиши приводит к очистке экрана, но она не
влияет на состояние измерителя джерков.
13. Прочие возможности
Нажатием клавиши SPACE во время загрузки или выгрузки вы
можете прервать работу программы и возвратиться к главному меню.
14. Режим "В"
В этом режиме есть возможность копирования программ со ско-
ростными загрузчиками, в том числе и тех, которые при загрузке
могут выполнять проверку экрана.
Меню "В"-режима:
L - загрузка блоков длиной до 48300 байтов
М - загрузка блоков от 48300 до 50 К
N - загрузка блоков свыше 50 К
J - загрузка блоков, если режим " " не работает
(только для нормальной скорости)
3 - загрузка длинных блоков, начинающихся на экранной обла-
сти
S - запись блоков
Р - спец. Клавиша для записи (используется после "С")
$ (доллар) - запись с нормальной скоростью и нормальным пи-
лоттоном
С - подсчет числа байтов для работы с режимами "J" и "L"
В - измеритель числа скорости ввода
Q- сброс
А - прерывание и очистка экрана
]
Замечание: после использования клавиш J или 3 для загрузки и
последующей выгрузки, программа автоматически выполняет NEW.
15. Изменение скорости ввода.
При первом входе в LERM в компьютере задана нормальная
скорость ввода/вывода. Если блок имеет нестандартную скорость, то
прежде чем что-либо делать, вам необходимо замерить скорость, для
этого:
А) установите ленту в начале этого блока, который вы собирае-
тесь копировать. Нажмите "PLAY" и пропустите пилоттон.
Б) когда пилоттон пройдет и пройдут байты, нажмите "В", по-
старайтесь найти достаточно "шумную" зону (при изображении эк-
рана, например, встречаются подряд сотни одинаковых байтов, что
воспринимается как один чистый звуковой тон).
Примечание: некоторые программы имеют различные скоро-
сти для различных блоков, поэтому измеритель надо применять вся-
кий раз снова. Можно проверить, правильно ли производится замер
скорости. Если в программе есть SCREENS, попробуйте загрузить
экран операцией "L". Если экран и атрибуты правильные, но сдвину-
ты на один элементарный квадрат, то значит замеренное значение -
правильное.
16. Операции загрузки.
Самая большая проблема состоит в том, что кроме повышенной
скорости блоки могут иметь и избыточную длину. Чтобы с ними
справиться, существуют операции, которые загружают программу за
счет порчи картины экрана. В то же время, есть программы, которые
выполняют проверку экрана, бывают также программы более 48К.
A) клавиша "L".
Загружает блоки объемом до 48300 байтов. Картина экрана
сдвигается на один элементарный квадрат. После копирования ника-
кой порчи экрана нет. Это основной режим загрузки.
Б) клавиша "М".
Загружает блоки от 48300 до 50К. Картинка портится. Копия
также будет иметь испорченную картинку. Тем не менее, если про-
грамма не проверяет состояние экрана, то она будет работать нор-
мально. Этот режим - ваша первая линия атаки на блоки,
превышающие 48.ЗК.
Все остальные режимы предполагают предварительное исполь-
зование счетчика "С". Помните, что счетчик может быть задейство-
ван как до, так и после перехода в режим "В".
B) клавиша "N".
Загружает программы более длинные, чем "М", но искажение
картинки здесь присутствует также.
Г) клавиша "J".
Применяется для блоков, которые загружаются с нормальной
скоростью и имеют длину более 48.ЗК и не начинается с загрузки
экрана. В этом случае картинка не портится.
Д) клавиша "3".
Применяется, как и клавиша "J", но в тех случаях, когда блок
начинает загружаться с экрана.
Выводы.
Итак, вам надо определить длину своего блока, используя "С" и
выбрать загрузочную клавишу в зависимости от длины блока. Ско-
рости загрузки и наличия проверки искажений экрана.
Что же делать, если программа имеет и скоростной загрузчик, и
проводит проверку экрана одновременно? Для этого предусмотрен
специальный обходной путь, см. Режим "Р".
17. Загрузка.
Установить ленту на начало блока, который вы собираетесь
копировать. Нажмите "PLAY" и соответствующую загрузочную кла-
вишу. После загрузки остановите ленту.
18. Запись.
1) Клавиша "S" (нормальная запись).
Вставьте чистую ленту в магнитофон. Нажмите "RECORD" и
затем "S". Программа будет записана с той же скоростью, с какой
загружалась. Повторение нажатия "S" даст повторение записи, за
исключением режимов "J" и "3", о чем упоминалось выше.
2) Клавиша 0.
Если у вас программа со скоростным загрузчиком, а вы хотите
конвертировать ее в нормальную, нажмите 0 до нажатия "S".
3) Клавиша "Р" (используется с "С" и "L").
Если у вас есть скоростной блок, слишком длинный для "L", но
в то же время использовать "М" нельзя, т.к. в программе есть провер-
ка области экрана, то вы можете попробовать следующее (хотя все
это метод проб и ошибок): - замерить длину "С"; - загрузить через "L";
- записать через "Р".
Заметьте, что счетчик "С" может быть запущен либо после глав-
ного меню (см. П. 2), либо из режима "В" (см. п. 19 ниже).
19. Клавиша "С" для подсчета байтов
В этом режиме клавиша "С" работает точно также, как и в п. 2.
После нажатия "PLAY" на магнитофоне просто держите клавишу "С".
Хотя при этом отсчет байтов на экране не изображается.
20. Клавиша "Q".
Клавиша "Q" сбрасывает программу. Ее действие аналогично
команде "NEW".
21. Клавиша "А".
Она очищает экран и устанавливает все в исходное положение.
22. Полезные советы.
Выполнение копий с джеркованных программ со скоростными
загрузчиками - это довольно сложная задача, потому что все прочие
факторы становятся гораздо более критичными. Вам придется экспе-
риментировать со своим аппаратным обеспечением. Обычно вопрос
правильности ввода программы упирается в правильный подбор
громкости сигнала.
1) желательно иметь магнитофон попроще, по возможности без
автоматической регулировки уровня сигнала при записи. Головка
должна быть чистой и точно установленной. Лента должна быть
высококачественной, а оригинал - в достаточно пригодном состоя-
нии. Если программа загружается только один раз из четырех, то вам
придется потратить больше времени на ее ввод.
2) загружайте программу в компьютер с уровнем громкости,
обеспечивающим максимальную достоверность ввода программы в
компьютер.